[C++] 클래스 상속 시, 소멸자를 가상 함수(Virtual)로 만들어야 하는 이유
정적 바인딩(Static binding)이 오버라이드 메소드에 미치는 영향 객체 지향 언어를 통해 프로그래밍을 하다 보면, 부모 클래스로 자식 클래스를 가리키는 업 캐스팅(Upcasting)을 사용할 때가 많습니다.Parent* obj = new Child(); 우리 입장에서는 부모 클래스 포인터로 자식 클래스 객체를 가리키고 있구나라고 알 수 있지만, 컴퓨터 입장에서는 부모 클래스의 포인터이므로 당연히 부모 클래스 객체를 가리키고 있다고 생각합니다. 따라서, 자식 클래스에 오버라이딩(Overriding)된 메소드가 있다면 여기에서 문제가 발생하게 됩니다.Parent* p = new Parent();Parent* c = new Child();p->Function(); // Parent 클래스의 Fun..