제네릭은 어떤 자료형이라도 범용적으로 사용할 수 있도록 돕는 기능입니다.
처음 보면 이해하기 어려울 수 있지만, 차근차근 풀어보겠습니다.
제네릭 클래스
class MyClass<T>
{
T value;
}
제네릭은 < > 로 선언됩니다. 여기서 T에 현혹될 필요 없습니다.
MyClass<> 는 "이제부터 MyClass 내부에서 제네릭을 사용할 것이다."라는 의미입니다.
그리고 제네릭 타입을 T라고 쓰면 MyClass<T> 가 되고, U로 쓰면 MyClass<U> 가 됩니다.
class MyClass<IamGeneric>
{
IamGeneric value;
}
이처럼 < > 안의 타입명을 자유롭게 지정할 수 있습니다.
보통 T는 Type의 약자로 사용되며, 관례적으로 많이 쓰이는 명칭입니다.
제네릭 함수
함수에서도 제네릭을 사용할 수 있습니다. 이번에는 T 대신 Primary 와 Secondary 라는 명칭을 사용해 보겠습니다.
void MyFunc<Primary, Secondary>(Primary first, Secondary second)
{
Console.WriteLine(first);
Console.WriteLine(second);
}
이처럼 Primary 와 Secondary 를 제네릭으로 선언하여, 함수 인자에서 다양한 자료형을 받을 수 있습니다.
마무리
* 제네릭은 < > 로 선언하여 사용합니다.
* T는 관례적인 명칭일 뿐이며, 원하는 이름으로 변경할 수 있습니다.
* 제네릭을 사용하면 자료형을 특정하지 않고 범용적으로 코드 재사용이 가능합니다.
* 함수에서도 < >를 활용하여 다양한 자료형을 받을 수 있습니다.
제네릭의 기본 개념을 이해했다면, 코드가 보다 명확하게 보일 것입니다.
'C#' 카테고리의 다른 글
1. yield return 에 대해 (개념) (0) | 2025.03.09 |
---|---|
Action 과 Func 의 형변환 살펴보기 (0) | 2025.03.08 |
=> (람다 연산자) 이해하기 (0) | 2025.03.08 |
C# 에서 ? (nullable) 의 의미와 활용 방법 (0) | 2025.03.05 |
배열은 참조 타입입니다 (0) | 2025.03.05 |