C#언어의 컬렉션(Collection)과 C언어의 함수 포인터(Function Pointer)에서 계속 언급한 대리자(delegate)에 대해 아주 간단히 그림과 짧은 코드로 작성해보겠습니다.
대리자는 현실로 치면 중개업자 역할이라고 생각합니다. 이전 글에서는 요식업 중 배달의 민족으로 예시를 드렸는데 이번엔 스폰지밥으로 시각자료를 만들어보았습니다.
이제 간단히 알아볼 코드를 살펴보겠습니다.
class Program
{
// 대리자
public delegate void MethodDelegate();
static void PrintHello()
{
Console.WriteLine("Hello");
}
static void PrintWorld()
{
Console.WriteLine("World");
}
static void Main()
{
MethodDelegate method = PrintHello;
method();
method = PrintWorld;
method();
}
}
위의 코드에서 public delegate void MethodDelegate(); 에서 delegate를 반환형 앞에 붙여 MethodDelegate()를 대리자로 정의해줍니다. PrintHello(), PrintWorld() 메서드 2개를 선언합니다. 이후 Main() 메서드에서 대리자를 사용합니다.
- MethodDelegate(대리자)의 method는 PrintHello 메서드를 할당해줍니다.
- method();로 PrintHello() 메서드를 호출합니다.
- method() 메서드에 PrintWorld 메서드를 할당해줍니다.
- method();로 PrintWorld() 메서드를 호출합니다.
출력값: Hello \n World
끝
'프로그래밍 C#언어' 카테고리의 다른 글
컬렉션(Collections) (0) | 2024.09.09 |
---|---|
템플릿(Template) (1) | 2024.09.09 |
상속3 (0) | 2024.09.09 |
상속2 (5) | 2024.09.05 |
상속 (Inheritance) (0) | 2024.08.30 |