[3단원]상속은 is a 관계를 만족해야 한다?

  • OOP 관련 다른 서적들을 보면 상속은 is a 관계라고들 말한다.
  • 하지만 위의 단순한 설명만으로는 무리가 있다.

상속과 is a 관계

  • 펭귄 is a 동물
    • 주어 is a 보어
    • 주어는 하위 클래스 , 보어는 상위 클래스라고들 흔히 생각하지만,
    • 하위 클래스는 하나의 상위 클래스다 라는 논리가 성립하기가 힘듬.
  • is a 가 클래스와 인스턴스

    is a 관계는 객체(클래스와 인스턴스) 와 클래스 의 관계로 자주 오해된다.

    객체 is a 클래스 ← 이게 말이 안된다.

명확한 표현법

  • 상속 관계를 표현시에, is a 대신 is a kind of 를 사용하는 것이 더 명확한 표현이다.
  • 펭귄 is a kind of 동물 이라고 흔히들 표현된다!

명확한 예시

  • 펭귄 is a kind of 동물 : 펭귄은 동물의 한 분류이다.
  • 고래 is a kind of 동물 : 고래는 동물의 한 분류이다.
  • 조류 is a kind of 동물 : 조류는 동물의 한 분류이다.


Uploaded by N2T