[c#] 델리게이트 데이터 타입

델리게이트는 C#에서 함수를 다른 함수에 전달하는데 사용되는 데이터 타입입니다. 이를 통해 메서드 혹은 함수를 변수처럼 사용할 수 있습니다.

델리게이트는 단순히 메서드의 특정 시그니처를 나타내며 해당 시그니처와 일치하는 모든 메서드를 참조할 수 있습니다.

델리게이트를 선언하는 방법은 다음과 같습니다.

delegate int Calculator(int x, int y);

위의 예제는 반환 형식이 int이고 두 개의 int 매개 변수를 갖는 델리게이트를 선언한 것입니다.

델리게이트는 다음과 같이 다른 메서드에 대한 참조를 저장할 수 있습니다.

public class Program
{
    public static int Add(int x, int y)
    {
        return x + y;
    }

    public static int Subtract(int x, int y)
    {
        return x - y;
    }

    public static void Main()
    {
        Calculator calc = Add;
        Console.WriteLine(calc(3, 2));  // 5 출력

        calc = Subtract;
        Console.WriteLine(calc(3, 2));  // 1 출력
    }
}

위의 예제에서 Calculator 델리게이트는 AddSubtract 메서드에 대한 참조를 저장하고 해당 메서드를 호출합니다.

델리게이트는 이벤트 핸들리이 하거나 비동기 프로그래밍에 사용되는 등 다양한 곳에서 활용됩니다.

델리게이트 데이터 타입은 C#의 강력한 기능 중 하나이며, 유연한 코드를 작성할 수 있도록 도와줍니다.

델리게이트에 대한 더 자세한 내용은 MSDN 델리게이트 문서를 참조하세요.