💡 질문에 답해보고 직접 확인해보는 시간을 가집시다.
using System;
class Program
{
// 델리게이트 정의
public delegate int MyCallback(int a, int b);
// 덧셈 메서드
static int Add(int a, int b)
{
return a + b;
}
// 곱셈 메서드
static int Multiply(int a, int b)
{
return a * b;
}
static void Main(string[] args)
{
MyCallback MathOperation;
MathOperation = Add;
Console.WriteLine(MathOperation(3, 4));
MathOperation = Multiply;
Console.WriteLine(MathOperation(7, 5));
}
}
위 코드의 출력 결과는 무엇인가요? 그 이유는 무엇인가요?
위 코드의 Main 함수를 아래처럼 바꿔도 같은 방식으로 동작할까요? 그 이유는 무엇인가요?
static void Main(string[] args)
{
Func<int, int, int> MathOperation;
MathOperation = Add;
Console.WriteLine(MathOperation(3, 4));
MathOperation = Multiply;
Console.WriteLine(MathOperation(7, 5));
}
💡 질문을 직접 설명해보고, 모르는 부분이 있다면 알아보는 시간을 가집시다.