타입의 계층

일반화/특수화 관계

  • 일반화와 특수화는 동시에 일어남

  • 객체지향에서 일반화/특수화를 결정하는건 "객체가 외부에 제공하는 행동"

    • 일반적인 타입은 특수한 타입보다 더 적은 수의 행동을 가진다

    • But, 일반적인 타입은 특수한 타입보다 더 큰 크기의 외연을 가진다.

슈퍼타입/서브타입

  • 일반적인 타입 : 슈퍼타입 / 특수한 타입 : 서브 타입

  • 어떤 타입이 다른 타입의 서브타입이 되기 위해서는 행위적 호환성을 만족시켜야 한다.

    • 어떤 타입을 다른 타입의 서브타입이라고 말할 수 있으면 다른 타입을 대체할 수 있어야 한다.

  • 슈퍼타입의 행동은 서브타입에게 자동으로 상속됨

    일반화는 추상화를 위한 도구

    • 불필요한 세부 사항을 제거하고 공통점만 강조하여 단순한 관점에서 바라본 것

Last updated