디스패치 경로

가상 함수 동적 바인딩

다형성의 핵심은 Base 포인터나 참조로 호출하더라도 virtual 함수라면 런타임 객체의 재정의가 선택된다는 점입니다.

Base*

공통 입구

컨테이너나 API는 기반 포인터와 참조로 여러 파생 타입을 같은 방식으로 받습니다.

virtual

동적 바인딩

함수 테이블을 통해 실제 객체가 가진 override 구현을 찾아 호출합니다.

override

오타 방지

재정의 함수에는 override를 붙여 시그니처 불일치를 컴파일 단계에서 잡습니다.

destructor

안전한 해제

기반 포인터로 delete할 수 있는 계층은 virtual destructor를 둡니다.