본문 바로가기

C#

[C#] 제네릭 generic

 

제네릭(generic)

 

제네릭이란 데이터의 타입을 일반화(generalize) 한다는 것을 의미한다.

제네릭은 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정하는 방법이다.

이렇게 컴파일 시에 미리 타입 체크를 수행하면 다음과 같은 장점을 가진다.

 

1. 클래스나 메소드 내부에서 사용되는 객체의 타입 안정성을 높일 수 있다.
2. 반환값에 대한 타입 변환 및 타입 검사에 들어가는 노력을 줄일 수 있다.

 

 

'T'를 타입 변수(type variable)라고 하며, 임의의 참조형 타입을 의미한다.

꼭 'T' 뿐만 아니라 어떠한 문자를 사용해도 상관없으며, 여러 개의 타입 변수는 쉼표(,)로 구분하여 명시할 수 있다.

 

 

제네릭의 제거 시기

 

코드에서 선언되고 사용된 제네릭 타입은 컴파일 시 컴파일러에 의해 자동으로 검사되어 타입 변환된다.

그리고 코드 내의 모든 제네릭 타입은 제거되어, 컴파일된 class 파일에는 어떠한 제네릭 타입도 포함되지 않게 된다.

이런 식으로 동작하는 이유는 제네릭을 사용하지 않는 코드와의 호환성을 유지하기 위해서이다.

 

'C#' 카테고리의 다른 글

[C#] delegate  (0) 2022.10.10
[C#] Parse, TryParse, Convert  (0) 2022.10.10
[C#] 확장 메소드 Extension Method  (0) 2022.10.07
[C#] 접근 제한자 Access Modifier  (0) 2022.10.07
[C#] IEnumerable  (0) 2022.10.06