본문 바로가기

워크/C# 6,0

Expression-bodied function members (식 본문 함수 멤버)

C# 6.0에서 도입된 식 본문 함수 멤버는 메서드, 속성, 인덱서 또는 읽기 전용 속성의 본문을 간결하게 표현하는 데 사용됩니다. 기본적으로 이 기능은 본문이 한 줄로 표현되는 함수 멤버를 더 간결하게 표현할 수 있게 해줍니다.

다음은 식 본문 함수 멤버를 사용한 예시 C# 코드입니다:

using System;

public class Circle
{
    public double Radius { get; set; }

    // 식 본문을 사용한 메서드
    public double CalculateArea() => Math.PI * Radius * Radius;

    // 식 본문을 사용한 읽기 전용 속성
    public double Diameter => 2 * Radius;

    // 식 본문을 사용한 읽기 전용 속성
    public double Circumference => 2 * Math.PI * Radius;
}

class Program
{
    static void Main()
    {
        var circle = new Circle { Radius = 3 };

        Console.WriteLine($"Area: {circle.CalculateArea()}");
        Console.WriteLine($"Diameter: {circle.Diameter}");
        Console.WriteLine($"Circumference: {circle.Circumference}");
    }
}

위의 예제에서 Circle 클래스의 CalculateArea 메서드, Diameter 속성, 그리고 Circumference 속성은 모두 식 본문 (=>)을 사용하여 간결하게 표현되었습니다.

이러한 방식을 사용하면 코드가 간결해지고, 특히 본문이 단순한 계산 또는 반환 작업만 포함하는 경우 가독성이 크게 향상됩니다.