상속을 위한 조건


*상속 관계를 가질 수 있느 관계는 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객체를 포함시킴)


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








'Programming Language > C++' 카테고리의 다른 글

09-1 멤버함수와 가상함수의 동작원리  (0) 2019.01.31
08-3 가상 소멸자와 참조자의 참조 가능성  (0) 2019.01.29
08-2 가상함수  (0) 2019.01.29
08-1 객체 포인터의 참조관계  (0) 2019.01.15
static  (0) 2018.01.10

+ Recent posts