[iOS][Swift] Class Overriding Rules - 클래스 재정의 규칙 정리

Jay·2023년 9월 12일
0

iOS

목록 보기
35/47

대원칙:

  • 저장 속성은 재정의 할 수 없다.
  • 메서드는 재정의 가능하지만, 기능 확장만 허용된다.

Stored Property - 저장속성:

  • 저장 속성의 재정의는 메모리 구조상 불가능하다.
  • 그러나 메서드 형태로 추가는 가능하다.
    - 계산 속성 형태로 재정의 가능하다.
    - 속성 감시자 형태로도 재정의 가능하다.

Computed Property - 계산속성:

  • 계산 속성의 재정의는 메서드를 대체하는 형태로 가능하다.
  • 기능을 확장하는 방식으로만 재정의 가능하다.
    - 읽기만 가능한 속성을 읽기/쓰기 속성으로 확장 가능하다.
    - 읽기/쓰기 속성을 읽기만 가능한 속성으로 변경하는 것은 불가능하다.
  • 속성 감시자를 추가하는 재정의도 가능하다.

Initializer- 생성자:

  • 생성자는 기본적으로 상속되지 않는다.
  • 서브클래스는 상위 클래스의 지정생성자와 서브클래스의 저장 속성을 고려하여 구현해야 한다.
  • 일부 경우에는 지정생성자나 편의생성자가 자동으로 상속될 수 있다.

Method- 메서드:

  • 메서드는 상위 클래스의 구현을 대체하거나 변형하여 재정의 할 수 있다.
  • 상위 클래스의 메서드를 호출할 경우 주의가 필요하다.
profile
Junior Developer

0개의 댓글