[c#] 람다식과 클로저의 관계는 무엇인가요?

C#에서 람다식과 클로저는 밀접한 관계에 있습니다. 람다식은 익명 메서드를 표현하는 간결한 방법이며, 클로저는 해당 람다식이 선언된 범위 외부의 변수를 캡처하여 사용하는 것을 의미합니다. 이는 람다식이 선언될 때의 환경에 대한 참조를 포함하고 있는 것으로 설명될 수 있습니다.

예를 들어, 다음과 같은 코드에서 람다식과 클로저의 관계를 볼 수 있습니다.

using System;

class Program
{
    static void Main()
    {
        int number = 10;
        Func<int, int> square = x => x * x; // 람다식

        Console.WriteLine(square(number)); // 클로저
    }
}

위 코드에서 square 람다식은 number 변수를 사용하고 있으며, 이는 Main 메서드 내에 선언된 변수입니다. 람다식은 해당 변수를 캡처하여 사용하고 있으므로, 클로저로 간주됩니다.

람다식과 클로저는 C#에서 유용하게 활용되는 개념으로, 코드를 더 간결하고 효율적으로 작성할 수 있도록 도와줍니다.

참고 자료: