
상속 (Inheritance)
상속은 객체지향 프로그래밍의 핵심 개념 중 하나입니다. 상속을 통해 기존 클래스의 특성(프로퍼티, 메서드, 초기화 등)을 새로운 클래스에 전달할 수 있습니다. 이를 통해 코드 재사용성을 높이고, 계층적 관계를 모델링할 수 있습니다.
상속의 주요 특징
- 계층적 관계: 상속은 부모 클래스(superclass)와 자식 클래스(subclass) 간의 계층적 관계를 만듭니다.
- 코드 재사용성: 자식 클래스는 부모 클래스의 특성을 물려받아 사용할 수 있어 코드 중복을 줄일 수 있습니다.
- 다형성: 자식 클래스는 부모 클래스의 메서드를 재정의(override)하여 다른 동작을 구현할 수 있습니다.
상속의 사용법
Swift에서 상속은 class 키워드를 사용하여 구현합니다. 자식 클래스는 부모 클래스를 상속받아 새로운 클래스를 만듭니다.
// 부모 클래스
class Animal {
var name: String
init(name: String) {
self.name = name
}
func makeSound() {
print("The animal makes a sound")
}
}
// 자식 클래스
class Dog: Animal {
var breed: String
init(name: String, breed: String) {
self.breed = breed
super.init(name: name)
}
override func makeSound() {
print("The dog barks")
}
func fetch() {
print("The dog fetches the ball")
}
}
// 사용 예시
let dog = Dog(name: "Buddy", breed: "Labrador")
dog.name // "Buddy"
dog.breed // "Labrador"
dog.makeSound() // "The dog barks"
dog.fetch() // "The dog fetches the ball"
위 예시에서 Dog 클래스는 Animal 클래스를 상속받습니다. Dog 클래스는 Animal 클래스의 name 프로퍼티와 makeSound() 메서드를 물려받고, 자신만의 breed 프로퍼티와 fetch() 메서드를 추가로 정의했습니다. 또한 makeSound() 메서드를 재정의하여 다른 동작을 구현했습니다.
이처럼 상속을 통해 기존 클래스의 특성을 재사용하고, 새로운 기능을 추가하거나 기존 기능을 변경할 수 있습니다. 이는 코드 재사용성을 높이고, 계층적 관계를 효과적으로 모델링할 수 있게 해줍니다.
'걔 (개발)로그 > Swift' 카테고리의 다른 글
| Swift에서 Filter와 Map (0) | 2024.05.17 |
|---|---|
| Swift에서 프로퍼티 (Properties)와 메서드 (Methods) (0) | 2024.05.17 |
| Swift에서 인스턴스 (Instance) 및 인스턴스 메서드 (Instance Methods) (0) | 2024.05.17 |
| Swift에서 UserDefaults의 정체 (0) | 2024.05.16 |
| Swift에서 옵셔널의 모든 것 (1) | 2024.05.16 |