본문 바로가기

 𝗔𝗣𝗣𝗟𝗘/SWIFT : GRAMMAR

Swift 기초 문법 - 상속(Inheritance)

 

 

 

 

상속(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() { }
}

 

 

Recent Posts
Visits
Today
Yesterday
Archives
Calendar
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31