People이라는 슈퍼(부모)클래스를 상속받는 Person이라는 자식클래스르 만듬
자식클래스는 슈퍼클래스에 있는 프로퍼티와 메서드를 사용할 수 있음
Override
- 서브 클래스는 슈퍼클래스에 정의된 메서드,프로퍼티,서브 스크립트를 그대로 사용하지 않고 자신만의 기능으로 변경하여 사용가능
- override 키워드 사용
자식 클래스에서 People 슈퍼클래스의 speak()이라는 메서드를 override하여 자신만의 기능으로 변경하여 사용하였음
다음과 같이 출력하게 됨
오늘 날씨는 Good Morning
super.
슈퍼클래스를 가리키는 키워드
반대말 -> self
슈퍼클래스의 speak()메서드 블록을 실행하고 싶다면
super.를 붙여주어야함
슈퍼클래스에 있는 프로퍼티도 서브클래스에서 재정의가 가능함
super.을 앞에 붙여주면 사용 가능
- 계산,저장 프로퍼티를 오버라이딩 하는 프로퍼티는 getter,setter를 가질 수 있음
- 자식프로퍼티에서 재정의하려는 프로퍼티는 슈퍼클래스 프로퍼티의 이름과 타입이 일치해야함
- 슈퍼클래스에서 Read - Write 로 선언된 프로퍼티를 서브클래스에서 Read - Only 로 오버라이드 할 수 없지만
- 슈퍼클래스에서 R/O로 선언된 프로퍼티는 서브클래스에서 R/W 로 오버라이드 할 수 있음
final
final을 클래스나 메서드 앞에 붙여주면 재정의를 할 수 없게되어 상속 불가능 해짐
'Swift랑 친해지기' 카테고리의 다른 글
서버란? (Swift) (0) | 2022.09.05 |
---|---|
[iOS] 간단히 프로토콜 이해하기 (Swift) (1) | 2022.08.30 |
[iOS] Delegate를 이용해 전 ViewController로 데이터 전달(Swift) (0) | 2022.08.29 |
Swift 특징(프로토콜 지향언어, ArrayList, DataSource, Delegate) (0) | 2022.08.29 |
[Xcode] App store 프로젝트 업데이트 올리기 (0) | 2022.07.12 |