abstract

추상 클래스는 필수 계약과 공유 구현을 같은 표에서 분리해 설계한다

순수 가상 함수와 공통 구현을 섞기 전에 어떤 책임이 기반에 남는지 확인한다.

필수 계약파생이 반드시 구현
선택 기본값공통 동작은 기반에 제공
상태공유 상태는 최소화
소유권Base 포인터 삭제 가능성
무엇을 둘까추상 클래스에 둔다파생 클래스에 둔다
호출 규칙순수 가상 함수구체 구현
공통 처리상태 없는 helper도메인별 차이
수명 관리virtual 소멸자자원 해제 세부 구현

핵심 추상 클래스는 필수 계약, 공유 구현, 수명 규칙을 어디에 둘지 나누는 설계 표다.