● 제너릭
- 클래스나 메서드를 일반화시켜 다양한 자료형에 대응할 수 있는 기능
- 코드의 재사용성을 높일 수 있음
- <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>();
intStack.Push(1);
intStack.Push(2);
intStack.Push(3);
Console.WriteLine(intStack.Pop()); // 출력 결과: 3
* 컬렉션 Stack 구현
* Statc<int>에 int 대신 다른 자료형도 사용 가능
※ 제너릭을 두개 이상 사용하는 예
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}");
}
}
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();
// 출력
First: 1, Second: One
First: 3.14, Second: True
* 컬렉션 Dictionary 구현
'C#' 카테고리의 다른 글
인터페이스(Interface) (0) | 2023.11.09 |
---|---|
out, ref 키워드 (0) | 2023.11.08 |
오버로딩(overloading)과 오버라이딩(overriding) (0) | 2023.11.08 |
가상 메서드 (Virtual), 추상 메서드(Abstract) (2) | 2023.11.08 |
프로퍼티 (Property) (0) | 2023.11.08 |