제너릭
제너릭 사용법
- 제너릭은 클래스나 메서드를 일반화시켜 다양한 자료형에 대응할 수 있는 기능!
- 제너릭을 사용하여 코드의 재사용성을 높일 수 있다.
- C#에서는
<T>
와 같은 형태의 키워드를 이용하여 제너릭을 선언한다.
- 제너릭 클래스나 메서드에서 사용할 자료형은 선언 시점이 아닌 사용 시점에 결정된다!
- 제너릭 클래스나 메서드를 사용할 때는
<T>
대신 구체적인 자료형을 넣어준다.
제너릭을 이용하여 스택 만들기
// 제너릭 클래스 선언 예시
class Stack<T>
{
private T[] elements;
private int top;
public Stack()
{
elements = new T[100];
top = 0;
}
public void Push(T item)
{
elements[top++] = item;
}
public T Pop()
{
return elements[--top];
}
}
// 제너릭 클래스 사용 예시
Stack<int> intStack = new Stack<int>(); // 사용 시, 구체적인 자료형 int를 넣어주는 모습!
intStack.Push(1);
intStack.Push(2);
intStack.Push(3);
Console.WriteLine(intStack.Pop());
// 출력 결과는 3
제너릭은 두 개 이상 사용하기
class Pair<T1, T2>
{
public T1 First { get; set; }
public T2 Second { get; set; }
public Pair(T1 first, T2 second)
{
First = first;
Second = second;
}
public void Display()
{
Console.WriteLine($"First: {First}, Second: {Second}");
}
}
static void Main(string[] args)
{
Pair<int, string> pair1 = new Pair<int, string>(1, "One");
pair1.Display();
Pair<double, bool> pair2 = new Pair<double, bool>(3.14, true);
pair2.Display();
}
실행 화면 ▼