추상 클래스는 필수 계약과 공유 구현을 같은 표에서 분리해 설계한다
순수 가상 함수와 공통 구현을 섞기 전에 어떤 책임이 기반에 남는지 확인한다.
필수 계약파생이 반드시 구현
선택 기본값공통 동작은 기반에 제공
상태공유 상태는 최소화
소유권Base 포인터 삭제 가능성
| 무엇을 둘까 | 추상 클래스에 둔다 | 파생 클래스에 둔다 |
|---|---|---|
| 호출 규칙 | 순수 가상 함수 | 구체 구현 |
| 공통 처리 | 상태 없는 helper | 도메인별 차이 |
| 수명 관리 | virtual 소멸자 | 자원 해제 세부 구현 |
핵심 추상 클래스는 필수 계약, 공유 구현, 수명 규칙을 어디에 둘지 나누는 설계 표다.