중요한 C# 주제

C#의 대리자와 람다 식

이 레슨에서는 Func 대리자와 람다 식으로 함수를 다른 메서드의 매개변수로 넘깁니다.

소개

대리자(delegate)는 메서드를 나타내는 타입으로, 동작을 값처럼 넘길 수 있게 해 줍니다. 람다 식은 (a, b) => a * b처럼 그 자리에서 함수를 간결하게 쓰는 방법입니다. 둘을 함께 쓰면 데이터를 처리하는 방법을 바깥에서 받는 유연한 메서드를 작성할 수 있습니다.

Func<int, int, int> 타입은 정수 두 개를 받아 정수 하나를 돌려주는 함수를 나타냅니다. Apply 메서드는 계산 방법을 미리 알지 못하고 operation(left, right)를 호출하기만 합니다. 람다 (left, right) => left * right를 넘기면 Apply가 곱셈을 해서 42를 돌려줍니다.

실행 가능한 C# 예제

C#
코드 실행 →
Program.cs
using System;

class Program
{
    static int Apply(int left, int right, Func<int, int, int> operation)
        => operation(left, right);

    static void Main()
    {
        int result = Apply(6, 7, (left, right) => left * right);
        Console.WriteLine(result);
    }
}
실행 결과
42

디버거로 연습하기

중요한 대입이나 조건에 중단점을 두고 Debug를 눌러 다음 줄로 넘어가기 전에 지역 변수 값을 확인하세요.

챌린지로 연습하기

이 레슨에서 배운 내용으로 실제 문제를 풀어 보세요. 모든 챌린지는 브라우저에서 실행되며 즉시 테스트와 AI 리뷰를 받을 수 있습니다.

모든 챌린지