제네릭을 사용하는 기본적인 예제는 종종 콜렉션과 관련된 것들이 많이 보이지만, 조금 더 간단한 예제를 통해 제네릭의 기본적인 아이디어를 이해해보겠습니다.
제네릭을 활용한 간단한 Swap 함수:
Swap 함수는 두 개의 변수의 값을 바꾸는 함수입니다. 제네릭을 사용하면, 이 함수를 어떤 타입의 변수들에 대해서도 사용할 수 있습니다.
using System;
public class GenericExample
{
// 제네릭 메서드 선언
public static void Swap<T>(ref T a, ref T b)
{
T temp = a;
a = b;
b = temp;
}
public static void Main()
{
int x = 5, y = 10;
Console.WriteLine($"Before Swap: x = {x}, y = {y}");
Swap<int>(ref x, ref y);
Console.WriteLine($"After Swap: x = {x}, y = {y}");
string firstString = "Hello", secondString = "World";
Console.WriteLine($"\nBefore Swap: firstString = {firstString}, secondString = {secondString}");
Swap<string>(ref firstString, ref secondString);
Console.WriteLine($"After Swap: firstString = {firstString}, secondString = {secondString}");
}
}
이 코드를 실행하면 다음과 같은 결과가 출력됩니다:
Before Swap: x = 5, y = 10
After Swap: x = 10, y = 5
Before Swap: firstString = Hello, secondString = World
After Swap: firstString = World, secondString = Hello
위의 Swap<T> 메서드는 정수, 문자열 등 어떤 타입에 대해서도 작동하는데, 그 이유는 제네릭을 사용해서 정의되었기 때문입니다. 이를 통해 중복 코드를 줄이고 타입 안전성을 높일 수 있습니다.
'워크 > C# 2.0' 카테고리의 다른 글
고정 크기 버퍼 (Fixed Size Buffers) (0) | 2023.08.25 |
---|---|
반복자 (Iterators) (0) | 2023.08.25 |
익명 메서드 (Anonymous Methods) (0) | 2023.08.25 |
Nullable 타입 (0) | 2023.08.25 |
C# 2.0의 주요 특징 (0) | 2023.08.25 |