OOP 에서 상속, 다형성, 캡슐화 이 3가지가 키포인트다. 글쓴이는 C++보다 Java를 먼저 배웠는데,C++를 학습하면서, Java, Python 다형성 구현 측면에서 차이점이 있어서 정리한다. 본 글은 클래스의 업캐스팅에 대해서 알고 있다고 가정한다. Java보통 Java에서는 base 클래스를 상속 받아서 여러 클래스들을 구현한다.이때, derived 클래스에서 @override annotation을 사용하여 base 클래스의 method를 오버라이드한다.그리고 업캐스팅을 하고 base 클래스 인스턴스의 method를 호출하면, 자동으로 derived 클래스의 method를 호출한다.이러한 방식으로 Java에서는 다형성을 제공한다. class Base { void show() { ..