본문 바로가기
C#

람다 표현식을 사용할 때 헤깔리는 이유

by Oz Driver 2025. 3. 15.

C# 에서는 람다 표현식을 활용하여 속성(Property)과 메서드(Method)를 간결하게 표현할 수 있습니다. 하지만 둘은 형태가 매우 유사해 보이기 때문에 혼동할 수 있습니다. 이 글에서는 람다 표현식을 사용한 속성과 메서드의 차이를 살펴보고, 언제 어떤 방식을 사용하는 것이 적절한지 알아보겠습니다.

 

람다 표현식을 사용한 속성과 메서드

다음 두 코드를 비교해 보겠습니다.

class Example {
    public int Age => 30;  // 속성 (Property)
    public int Age() => 30; // 메서드 (Method)
}

 

하나는 속성이고 하나는 함수입니다.

람다 표현식으로 코드를 축약했기 때문에 언뜻 보면 비슷해서 헷갈릴 수 있습니다.

하지만 자세히 보면 괄호 () 의 유무로 판단할 수 있습니다. 속성은 () 없이 변수처럼 접근하고, 메서드는 () 를 사용하여 호출해야 합니다.

 

속성과 메서드의 사용 예시

속성 (Property)

class Player {
    private int level = 5;
    public int Level => level; // 속성: 플레이어의 레벨을 표현
}

// 사용 예시
Player player = new Player();
Console.WriteLine(player.Level); // 5 (변수처럼 접근)

 

메서드(Method)

class Player {
    private int level = 5;
    public int Level() => level * 2; // 메서드: 레벨을 기반으로 계산 수행
}

// 사용 예시
Player player = new Player();
Console.WriteLine(player.Level()); // 10 (함수처럼 호출)

 

 

 

정리

이처럼 람다 표현식을 사용한 속성과 메서드는 매우 유사해 보이지만, 괄호 () 의 유무로 쉽게 구분할 수 있습니다. 속성은 객체의 상태를 표현하는 데 적합하고, 메서드는 특정 동작을 수행할 때 사용됩니다.

결국 중요한 것은 어떤 개념이 더 적절한지 판단하는 것입니다. 단순한 데이터 반환이라면 속성을, 연산이 필요하거나 특정 기능을 수행해야 한다면 메서드를 선택하면 됩니다.

비슷하게 보이지만, 목적과 쓰임이 다르다는 점을 기억하면 헷갈릴 일이 없겠죠!