이번 장은 간단하다.
C++ 객체 지향에서 public 상속은 "is-a(..는..의 일종이다)"를 의미한다.
Derived가 Base로부터 public 상속을 받았다면, "D is a B. 즉, D는 B의 일종이다. 하지만 B는 D의 일종이 아니다."라는 것이다.
ex. 정사각형은 직사각형의 일종이다. 직사각형은 정사각형의 일종이 아니다.
public 상속은 기본 클래스 객체가 가진 모든 것들이 파생 클래스 객체에도 그대로 적용된다고 단정 짓는 상속이다.
참고로 클래스간 맺을 수 있는 관계는 "is-a" 말고도 "has-a", "is-implemented-in-terms-of" 방식이 있다. 38, 39장에서 알아보자.
요약
- public 상속의 의미는 "is-a(..는 ..의 일종)"이다. 기본 클래스에 적용되는 모든 것들이 파생 클래스에 그대로 적용 되어야 한다. 왜냐하면 모든 파생 클래스 객체는 기본 클래스 객체의 일종이기 때문이다.