abstract
추상 클래스는 만들 수 없는 타입이 아니라 호출 계약이다
순수 가상 함수는 파생 클래스가 반드시 채워야 할 동작을 고정한다.
= 0반드시 구현할 함수 표시
공통 코드필요한 기본 구현은 유지
직접 생성 금지Shape s 같은 객체 생성 불가
Base 포인터계약만 보고 호출 가능
| 역할 | 문법 신호 | 독자가 읽을 결론 |
|---|---|---|
| 계약 | virtual f() = 0 | 파생 클래스가 반드시 채운다 |
| 추상 타입 | 순수 가상 포함 | 직접 만들지 않고 참조로 쓴다 |
| 공유 기반 | 일반 멤버 + virtual 소멸자 | 공통 코드와 수명까지 설계한다 |
핵심 추상 클래스는 못 만드는 타입이 아니라 호출자가 의존할 최소 계약을 세우는 장치다.