본문 바로가기

[내배캠] 본 캠프 개발 학습/매일매일 쓰는 TIL

11월 8일 금요일 본 캠프 개발 일지 | 델리게이트 특강

 

📌

 

가볍게 정리해두고 주말에 복습하면서 더 채울 예정이다. 

학습 내용 

 

1. 델리게이트 


1. 델리게이트 

델리게이트 

 

 델리게이트는 객체가 아닌 메서드를 참조하는 타입으로, C#의 경우 메서드 포인터라고 생각할 수 있다. 델리게이트를 사용하면 특정 메서드의 호출을 다른 코드에 전달하거나 대리하여 수행하는 게 가능하다. 

 즉, 메서드를 전달해주는 대리자! 쉽게 비서라고 생각할 수 있다. 

사용방법 

public delegate int MathOperation(int x, int y);

 

먼저 delegate 키워드를 사용해 직접 선언해야 한다. 한 델리게이트에 여러 메서드를 추가할 수 있으며, 이 경우 등록된 메서드가 순서대로 호출된다.

public class Program
{
    public static int Add(int x, int y) => x + y;
    public static int Multiply(int x, int y) => x * y;

    public static void Main()
    {
        MathOperation operation = Add; // 델리게이트 인스턴스에 메서드 할당
        Console.WriteLine(operation(3, 4)); // 7 출력

        operation = Multiply;
        Console.WriteLine(operation(3, 4)); // 12 출력
    }
}


이후에 델리게이트 인스턴스화해서 사용하면 된다.