C# - 일반화 탬플릿

양규빈·2023년 7월 14일
0

C# 공부

목록 보기
15/30

개요

코드를 일반화하여 여러 다른 타입에서 재사용할 수 있는 기능. 일반화 템플릿을 사용하면 클래스, 구조체, 메서드 등을 작성할 때 특정한 타입에 종속되지 않고 범용적으로 사용할 수 있다.

C#에서의 일반화 템플릿은 <> 꺾쇠 괄호를 사용하여 정의된다.

이 꺾쇠 괄호 안에 타입 매개변수를 선언하고, 이 매개변수를 템플릿 내에서 타입 또는 메서드의 인수로 사용할 수 있다.
일반화 템플릿은 타입의 안전성을 유지하면서 코드의 재사용성을 높이는데 도움을 준다.

코드 및 세부 설명

<T>로 자료형을 받아서, 해당 자료형의 값을 배열의 형태로 저장하는 제네릭 클래스를 구현한 코드.

다음과 같이 사용한다.
<T>에 float double 등 자유롭게 자료형을 입력하여 사용할 수 있다.



<T> 타입 파라미터를 두 개 이상 받아서 사용할 수도 있다.

상단의 코드는 타입 파라미터 2개를 사용한 제너릭 탬플릿이다.

제너릭
<T>타입 파라미터를 이용해서 박싱, 언박싱 최소화 가능 -> 성능 향상
②사용시에는 이 타입 파라미터에 특정 타입을 지정
③여러 개의 데이터 타입에 대응하는 범용성을 가진다.



<T>타입 파라미터가 <T>타입 파라미터 클래스를 타입 파라미터 형으로 받을 수 있다.

상단의 코드를 확인하면, string을 인자로 받는, 부모 객체, Base 클래스를 파라미터로 받는 MyGeneric 클래스를 확인할 수 있다.
해당 제너릭 탬플릿의 인스턴스를 생성하기 위해서는 부모객체인 Base나 AA 클래스를 인스턴스로 초기화 해야 한다.

또한 이렇게 생성한 데이터는 다음과 같이 if문으로 사용 가능하다.

profile
훌륭한 개발자를 꿈꾸는 중입니다

0개의 댓글