[C#] 델리게이트(Delegate) : 메서드 참조의 강력한 도구
안녕하세요! 이번 포스트에서는 C#의 델리게이트(Delegate)에 대해 알아보겠습니다. 델리게이트는 메서드를 참조할 수 있는 형식으로, 이벤트 처리, 콜백 메서드 등 다양한 시나리오에서 사용됩니다.
델리게이트(Delegate)란 무엇인가요?
델리게이트는 메서드를 참조하는 형식으로, 다른 메서드를 호출하거나 이벤트 처리를 위한 콜백 메서드를 지정하는 데 사용됩니다. 델리게이트는 대리자(Delegate) 역할을 수행하여 메서드 호출을 대신합니다.
델리게이트의 선언
public delegate void MyDelegate(int x, int y);
위 예시에서 MyDelegate 델리게이트는 두 개의 int 매개변수를 가지고 void 반환형을 갖는 메서드를 참조할 수 있습니다.
델리게이트의 사용법
델리게이트는 다양한 시나리오에서 유용하게 활용될 수 있습니다. 주로 이벤트 처리, 비동기 프로그래밍, 콜백 메서드 등에서 사용됩니다.
델리게이트를 사용한 이벤트 처리
public delegate void MyDelegate(int x, int y);
public class EventPublisher
{
public event MyDelegate MyEvent;
public void DoSomething(int x, int y)
{
MyEvent?.Invoke(x, y);
}
}
class Program
{
static void Main(string[] args)
{
EventPublisher publisher = new EventPublisher();
publisher.MyEvent += MyEventHandler;
publisher.DoSomething(10, 20);
}
static void MyEventHandler(int x, int y)
{
Console.WriteLine($"Event handled: {x}, {y}");
}
}
위 예시에서 EventPublisher 클래스는 MyEvent라는 이벤트를 선언하고, 이벤트가 발생할 때 등록된 델리게이트를 호출합니다. Main 메서드에서는 MyEventHandler 메서드를 MyEvent에 등록하여 이벤트를 처리합니다.
델리게이트의 유형
델리게이트는 다양한 유형을 가질 수 있습니다. 주요한 델리게이트 유형에는 다음과 같은 것들이 있습니다.
- Action: 매개변수가 없는 메서드를 나타내는 델리게이트입니다.
- Func: 결과 값을 반환하는 메서드를 나타내는 델리게이트입니다.
- Predicate: 불리언 값을 반환하는 메서드를 나타내는 델리게이트입니다.
마치며
이번 포스트에서는 C#의 델리게이트(Delegate)에 대해 알아보았습니다. 델리게이트는 메서드를 참조하는 형식으로, 이벤트 처리나 콜백 메서드 등 다양한 시나리오에서 활용됩니다. 델리게이트를 적절히 활용하면 코드의 유연성을 높일 수 있으며, 이벤트 기반 프로그래밍에서 중요한 역할을 합니다. 추가적인 질문이나 궁금한 점이 있다면 언제든지 댓글로 남겨주세요!
'Programming > C#' 카테고리의 다른 글
C# LINQ 데이터 쿼리의 일관된 방식 (0) | 2024.06.09 |
---|---|
C# 델리게이트(Delegate)의 다양한 사용법 (0) | 2024.06.09 |
C# 구조체(Struct) 경량화된 값 형식 (0) | 2024.06.09 |
C# 인덱서(Indexer) 배열과 유사한 접근성 제공 (0) | 2024.06.09 |
C# 제네릭 (Generics) 타입의 유연성과 안전성을 동시에 (0) | 2024.06.09 |