제네릭
- 형식 매개변수 (Type parameter)
- 데이터 유형을 일반화하여 여러 다른 데이터 유형에서 작동할 수 있도록 하는 기능
- 제네릭은 클래스, 구조체, 인터페이스, 메서드 등을 정의할 때 사용할 수 있으며, 재사용성과 유연성을 높이는 데 도움이 된다.
예시
- C# 기본 제공 제네릭 클래스
- List
- Dictionary
- LinkedList
사용방법
//제네릭 클래스
public class 클래스이름 <T>
{public T...}
//제네릭 메서드
void 메서드이름 <T>(T arg)
{
T temp = arg;
...
return temp;
}
장점
- 타입 안전성(Type Safety): 런타임시에 데이터 형식이 결정되는것이 아님, 그로인해 예외 발생 확률이 적고 성능 저하가 없음
- 재사용성(Reusability): 여러 다른 데이터 유형에 대해 동일한 코드를 재사용할 수 있다
- 성능 향상(Performance): 박싱과 언박싱을 방지하고, 데이터 유형 변환을 최소화하여 성능을 향상시킨다
- 컬렉션(Collection): 제네릭을 사용하여 보다 안전하고 효율적인 컬렉션을 만들 수 있다.