클래스 및 템플릿은 모두 인터페이스와 다형성을 지원한다. 클래스의 경우, 인터페이스는 명시적이며 함수의 시그니처를 중심으로 구성되어 있다. 다형성은 프로그래밍 실행 중에 가상 함수를 통해 나타난다. 템플릿 매개변수의 경우, 인터페이스는 암시적이며 유효 표현식에 기반을 두어 구성된다. 다형성은 컴파일 중에 템플릿 인스턴스화와 함수 오버로딩 모호성 해결을 통해 나타난다. 템플릿 프로그래밍의 암시적 인터페이스 & 컴파일 타임 다형성 객체 지향 프로그래밍에서 명시적 인터페이스와 런타임 다형성은 매우 중요하다. class Widget { public: Widget(); virtual ~Widget(); virtual std::size_t size() const; virtual void normalize(); vo..