Template
Template
: 함수나 클래스를 정의할 때, 구체적인 자료형(data type)을 명시하지 않고, 이를 사용자가 정의한 자료형으로 대체할 수 있도록 하는 기능이다.
이를 통해 자료형에 독립적인 코드를 작성할 수 있어, 코드의 재사용성을 높일 수 있다. (여러 자료형으로 사용가능)
template에는 두 가지 유형이 있다.
1. Function Template (함수 템플릿)
2. Class Template (클래스 템플릿)
Function Template
: 함수 템플릿을 사용하면 하나의 함수로 여러 자료형에 대응하는 함수를 만들 수 있다.
일반적으로 함수는 아래와 같이 정의한다. 아래 함수와 같이 정의하면 int 자료형에 대해서만 동작한다. double이나 float과 같이 다른 자료형에 대해서도 동일한 기능을 수행하려면, 각 자료형마다 double max,,,, float max,,와 같이 새롭게 함수를 정의해주어야 한다.
하지만, 템플릿을 사용하면 자료형에 독립적인 함수를 만들 수 있다.
위와 같이 template으로 함수를 선언할 수 있다. T는 사용자가 정의할 자료형이다.
사용자가 임의로 설정한 int나 double에 대하여 max에 대한 자료형이 여러가지로 쓰일 수 있다.
Class Template
class도 template으로 선언하여 class 내부에서 쓰이는 변수들에 대하여 여러 자료형을 사용할 수 있다.
'Coding > Basic Concept (C++)' 카테고리의 다른 글
Vector & Array (1) | 2023.02.19 |
---|