1. 일반화와 템플릿 일반화와 매개 변수의 타입만 다르고 코드가 동일한 함수들을 하나의 틀로 만들고, 이 틀로부터 매개 변수의 타입을 주어 함수를 찍어 내듯이 생산하는 기법을 제네릭(generic)이라고 부른다. template은 c++ 키워드로서 함수나 클래스를 일반화시키는 도구이다. template을 이용하여 작성된 함수를 템플릿 함수 혹은 제네릭 함수라고 부른다. 템플릿 함수나 클래스의 제네릭 타입에 구체적인 타입을 주어, 구체화된 버전의 함수나 클래스 코드를 생성하는 작업을 구체화(specificaion)라고 한다. 2. 제네릭 클래스 클래스도 template 키워드를 이용하여 일반화시킬 수 있다. 제네릭 클래스의 모든 멤버 함수 역시 템플릿 함수로 작성되어야 한다.