C++에서 OOP를 소개할 때, polymorphism도 덧붙여서 이야기하곤 한다.
하지만 polymorphism과 OOP는 좀 다른 개념이다.
. OOP의 특징
. dynamic look-up
. 각 object에 알맞는 member function 찾기
. virtual member function 사용시
. encapsulation(= abstraction)
. subtype
. inheritance
. Polymorphism
. 다른 type에 대해서 같은 algorithm을 사용하는 것.
. C++
. template
. explicit polymorphism
. type마다 각자 copy를 가진다.
. ML
. implicit polymorphism
. 1개의 copy만 가진다.
. Java
. generic (Java 1.5의 compile-time)
. Object class를 이용하여 흉내낼 수도 있다.
(Java 1.5도 run-time에는 그렇게 동작한다.
댓글 없음:
댓글 쓰기