Programming Language/C++

07-4 상속을 위한 조건

JTesseract 2018. 1. 22. 13:02

상속을 위한 조건


*상속 관계를 가질 수 있느 관계는 2가지가 있다


1.IS-A관계


*A is a B

-A는 B의 범주안에 들어감


ex)예시

전화기->무선전화기

전화기(Base Class)

무선전화기(Derived Class)


컴퓨터->노트북 컴퓨터

컴퓨터(Base Class)

노트북 컴퓨터(Derived Class)


*Base Class일수록 더 근본적인 것, Derived Class일수록 더 구체적인 것


2.HAS-A 관계


ex)예시

경찰 has a 총

총(Base Class)

경찰(Derived Class)


총에 관련된 멤버 변수를 경찰Class가 상속 받는다


*이렇게 되면 두 class간의 커플링(의존도)가 높아진다


--------------------------------------------------------------------


결론:has-A관계는 상속으로 표현하지 말자(대신 Police에 멤버 변수로 Gun객체를 포함시킴)


=====================================