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