객체 지향 프로그래밍의 세계를 회전시키는 축은 명시적 인터페이스( explicit interface ) 와

런타임 다형성( runtime polymorphism ) 이다.


클래스 및 템플릿은 모두 인터페이스와 다형성을 지원한다.

클래스의 경우. 인터페이스는 명시적이며 함수의 시그너처를 중심으로 구성되어 있다.

다형성은 프로그램 실행 중에 가상 함수를 통해 나타난다.

템플릿 매개변수의 경우 인터페이스는 암시적이며 유효 표현식에 기반을 두어 구성 된다.

다형성은 컴파일 중에 템플릿 인스턴스화와 함수 오버로딩 모호성 해결을 통해 나타난다.