본문 바로가기
C#

제네릭 (Generic) <T> 에 대해서

by Oz Driver 2025. 3. 5.

 

제네릭은 어떤 자료형이라도 범용적으로 사용할 수 있도록 돕는 기능입니다.

처음 보면 이해하기 어려울 수 있지만, 차근차근 풀어보겠습니다.

 

 

제네릭 클래스

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는 관례적인 명칭일 뿐이며, 원하는 이름으로 변경할 수 있습니다.

* 제네릭을 사용하면 자료형을 특정하지 않고 범용적으로 코드 재사용이 가능합니다.

* 함수에서도 < >를 활용하여 다양한 자료형을 받을 수 있습니다.

 

제네릭의 기본 개념을 이해했다면, 코드가 보다 명확하게 보일 것입니다.