더북(TheBook)

61.2 문과 식

C#의 문법은 문(statement)과 식(expression)으로 표현합니다. 가장 간단한 차이는 ‘문은 여러 줄로 표현하고, 식은 한 줄로 표현할 수 있다’는 것입니다. 참고로 함수형 프로그래밍에서는 문 대신 식을 사용하면 좋습니다. 자세한 설명은 어렵지만, 문은 파생 작업(부작용(side effect))이 발생할 가능성이 높기에 식을 사용하여 결괏값을 바로 가져오는 형태로 프로그래밍하길 권장합니다.

다음 예제는 기능이 동일한 함수를 만들 때 은 문을 사용하여 만들고, 는 식을 사용하여 만드는 것을 비교해서 보여 줍니다.

> //① 문을 사용하여 시험 결과 판정
> static string GetResultWithStatement(int score)
. {
.     string r;
.     if (score >= 60)
.     {
.         r = "합격";
.     }
.     else
.     {
.         r = "불합격";
.     }
.     return r; //변하는 값 반환
. }
>
> Console.WriteLine(GetResultWithStatement(60));  //ⓐ 문 호출
합격
>
> //② 식을 사용하여 시험 결과 판정
> static string GetResultWithExpression(int score) =>
.     score >= 60 ? "합격" : "불합격";            //변하지 않는 값 반환
>
> Console.WriteLine(GetResultWithExpression(60)); //ⓑ 식 호출
합격

문과 식을 구분하는 예제이기에 어느 것이 더 좋은 방식이라고는 할 수 없습니다. 하지만 최근 C#의 경향은 문보다는 식을 사용하여 코드를 간결하게 유지하는 형태가 많아서 이 예제를 소개했습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.