C# 델리게이트를 활용한 수학 연산 호출 예제
C#에서 델리게이트(delegate)를 사용하여 수학 연산을 호출하는 원리를 이해하려면, 간단한 예제를 통해 살펴보는 것이 가장 효과적입니다. 여기서는 특정 숫자를 5로 나누는 연산을 예로 들어보겠습니다.
1. 클래스와 함수 정의
먼저 클래스를 선언하고, 그 안에 나눗셈을 수행하는 함수를 작성합니다.
public class Demo {
public static double DivideFunc(double value) {
return value / 5;
}
}
2. 델리게이트 선언
다음으로, double 타입의 매개변수를 받아 double 값을 반환하는 델리게이트를 정의합니다.
delegate double myDelegate(double x);
3. 값 설정 및 메서드 호출
델리게이트 배열에 앞서 만든 함수를 할당하고, 값을 전달하여 호출합니다.
myDelegate[] val = { Demo.DivideFunc };
result(val[0], 20);
4. 델리게이트를 통한 수학 연산 실행
전달받은 델리게이트를 실행하여 결과를 출력하는 메서드입니다.
static void result(myDelegate d, double value) {
double result = d(value);
Console.WriteLine("Result = {0}", result);
}
위 코드를 실행하면 "value / 5", 즉 20 ÷ 5에 대한 결과가 다음과 같이 출력됩니다.
Result = 4
정리
이 예제에서 알 수 있듯이, 델리게이트는 메서드를 매개변수처럼 전달할 수 있게 해주는 강력한 기능입니다. 이를 활용하면 런타임에 실행할 연산을 동적으로 지정할 수 있어 코드의 유연성과 재사용성이 크게 향상됩니다. 실무에서는 콜백 처리, 이벤트 핸들링, LINQ 등 다양한 상황에서 델리게이트가 폭넓게 활용됩니다.