C# Generic Basic

2021. 11. 11. 23:11Study/C#

Generics

 

정의

타입을 디자인 할 때가 아닌 클라이언트가 사용할 때 지정해주는 기술이다.

사용

메소드, 클래스 등에 유연성(재사용성)을 제공함과 동시에, 컴파일 타임에서의 타입 안정성을 제공한다.

Object의 사용을 줄여 Boxing / Unboxing 으로 일어나는 자원의 소모를 막을 수 있다.

 

예시

Int type Linked List / Generic Linked List                                               

 

오른쪽 코드를 보면,

MyIntLinkedList 타입의 연결 리스트는 AddFirst에서 int 만을 받아와 노드를 생성하기 때문에 여러 타입을 제공할 수가 없다.

그러나 MyLinkedList 타입의 연결 리스트는 Generic을 사용했기 때문에 클라이언트가 원하는 타입으로 노드를 생성할 수 있고, 다른 타입의 데이터를 파라미터로 전달하려 하면 컴파일 타임에서 에러가 나게 된다.

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

C# IEnumerator, IEnumerable  (2) 2021.11.16