[c#] 제네릭 메서드의 활용 방법

제네릭 메서드는 C#에서 자주 사용되는 기능으로, 여러 타입의 데이터를 다루는 일반화된 방법을 제공합니다.

제네릭 메서드란?

제네릭 메서드는 하나 이상의 제네릭 타입 매개변수를 사용하여 데이터 타입을 지정할 수 있는 메서드입니다. 이를 통해 여러 데이터 타입에 대해 동일한 코드를 재사용할 수 있습니다.

public T GetMax<T>(T a, T b) where T : IComparable
{
    return a.CompareTo(b) > 0 ? a : b;
}

위 예제에서 GetMax는 제네릭 메서드로, T는 제네릭 타입 매개변수이며 여러 데이터 타입에서 사용할 수 있습니다. where 절을 통해 T가 IComparable 인터페이스를 구현한 타입에 대해서만 동작하도록 제약을 걸었습니다.

제네릭 메서드의 활용

제네릭 메서드를 활용하면 일반적인 연산을 수행하는 메서드를 작성할 수 있습니다. 예를 들어, 배열에서 최소값과 최대값을 찾는 메서드를 만들어보겠습니다.

public T GetMin<T>(T[] array) where T : IComparable
{
    if (array == null || array.Length == 0)
        throw new ArgumentException("Array is empty");

    T min = array[0];
    foreach (T item in array)
    {
        if (item.CompareTo(min) < 0)
            min = item;
    }
    return min;
}

public T GetMax<T>(T[] array) where T : IComparable
{
    if (array == null || array.Length == 0)
        throw new ArgumentException("Array is empty");

    T max = array[0];
    foreach (T item in array)
    {
        if (item.CompareTo(max) > 0)
            max = item;
    }
    return max;
}

위의 예제에서 GetMin과 GetMax 메서드는 제네릭 메서드로 작성되었습니다. 이를 통해 다양한 데이터 타입에 대해 최소값과 최대값을 찾는 메서드를 재사용할 수 있습니다.

요약

제네릭 메서드를 사용하면 다양한 데이터 타입에 대해 일반적으로 동작하는 메서드를 작성할 수 있으며, 코드의 재사용성과 가독성을 높일 수 있습니다. 제네릭 메서드는 C#에서 널리 활용되는 기능이므로 익숙해지고 적재적소에 활용하는 것이 중요합니다.