정적 바인딩
컴파일 시점 타입 기준으로 호출 대상이 결정된다. 기반 값으로 복사하면 파생 부분이 잘린다.
void print(Animal a)
포인터나 참조로 다뤄야 동적 바인딩이 유지되고, 값 전달은 객체 슬라이싱으로 파생 정보를 잃을 수 있다.
컴파일 시점 타입 기준으로 호출 대상이 결정된다. 기반 값으로 복사하면 파생 부분이 잘린다.
virtual 함수와 참조/포인터를 쓰면 런타임 실제 객체의 override가 호출된다.