상속(Inheritance)
💡 상속(Inheritance)
- 클래스 간의 관계를 나타내며, 한 클래스가 다른 클래스의 특성을 물려받는 것을 말함
- 상속을 통해 부모 클래스의 속성과 메서드를 자식 클래스가 재사용할 수 있음
→ 코드의 재사용성을 높이고 계층 구조를 만들어 관련된 객체를 그룹화하는 데 도움이 됨
부모 클래스 : 상속을 제공하는 클래스
→ 자신의 속성과 메서드를 하나 이상의 자식 클래스에게 물려줌
자식 클래스 : 상속을 받는 클래스
→ 부모 클래스의 속성과 메서드를 상속받아 사용할 수 있음
→ 또한 자식 클래스는 부모 클래스의 기능을 확장하거나 수정할 수 있음
상속의 장점
코드 재사용성 : 기존 클래스를 재사용하여 중복을 피하고 유지보수성을 높일 수 있음
계층 구조 : 부모 클래스와 이를 상속받는 자식 클래스 간에 계층 구조를 형성하여 다양한 수준의 추상화와 분류를 가능하게 함
상속 및 재정의 키워드
override : 부모 클래스에서 상속받은 멤버를 자식 클래스에서 재정의할 때 사용
super : 자식 클래스에서 부모 클래스의 멤버를 호출할 때 사용
final : 클래스, 메서드, 속성 또는 서브스크립트를 상속이 불가능하도록 만들거나 재정의할 수 없도록 만드는 키워드
상속을 사용하려면
→ 클래스 정의를 할 때 콜론(:) 뒤에 부모 클래스의 이름을 지정하면 됨
class ParentClass {
// 부모 클래스의 속성과 메서드
}
class ChildClass: ParentClass {
// 자식 클래스의 추가적인 속성과 메서드
}
상속을 금지하려면
→ 클래스 앞에 "final"이란 키워드를 작성해주면 재정의(override)하는 것을 막을 수 있음
final class FinalClass {
// 클래스 내용
}
※ final 키워드는 클래스뿐만 아니라 메서드, 프로퍼티, 서브스크립트에도 적용 가능
→ 메서드, 프로퍼티, 서브스크립트가 final로 선언되면 해당 멤버를 재정의(override)할 수 없음
class BaseClass {
final func someMethod() {
// 메서드 내용
}
}
class DerivedClass: BaseClass {
// 컴파일 오류: someMethod는 재정의할 수 없음
// override func someMethod() { }
}
' 𝗔𝗣𝗣𝗟𝗘 > SWIFT : GRAMMAR' 카테고리의 다른 글
Swift 기초 문법 - 프로퍼티 옵저버 (0) | 2024.03.12 |
---|---|
Swift 기초 문법 - 초기화(Initialization) (0) | 2024.03.11 |
Swift 기초 문법 - 클래스, 구조체, 열거형 (0) | 2024.03.11 |
Swift 기초 문법 - 객체 지향(OOP) (0) | 2024.03.08 |
Swift 기초 문법 - Collection Type(Array, Set, Dictionary) (0) | 2024.03.08 |