6.3 하향 캐스팅 다형성은 캡슐화와 상속을 보다 효과적이고 현실 세계에 근접하게 표현할 수 있게 해주는 매력적인 특징입니다. 하지만 기반 클래스 형식 포인터 변수로 파생된 개체를 관리하는 것은 치명적인 단점을 가져오게 합니다. 만약, 기반 클래스 형식에서는 약속할 필요가 없는 메서드가 파생 클래스 형식에 있을 경우 해당 메서드의 접근 수준을 public으로 제공하여도 접근하지 못하게 됩니다. 이러한 약점을 보완하기 위해 많은 OOP언어에서는 런 타임에 파생 개체 형식으로 캐스팅하는 방법을 제공하고 있으며 이를 하향 캐스팅이라 합니다. C++언어에서는 dynamic_cast를 통해 하향 캐스팅을 제공하고 있습니다. dynamic_cast를 사용하면 관리되는 실 개체의 형식이 캐스팅이 가능하지 않다면 0을..