상속 점검
상속 대체 가능성
C++ 상속은 코드를 줄이는 기능이 아니라 기반 클래스 자리에서 파생 객체를 안전하게 다룰 수 있게 만드는 설계 장치입니다.
대체 가능성
Dog는 Animal처럼 다뤄져도 계약을 깨지 않아야 public 상속이 자연스럽습니다.
구현 재사용
코드 재사용만 목적이면 합성이나 private 멤버가 더 단순할 수 있습니다.
접근 지정자
public, protected, private 상속은 외부에 공개되는 기반 인터페이스를 다르게 만듭니다.
소멸자 규칙
기반 포인터로 지울 수 있다면 기반 소멸자는 virtual이어야 합니다.