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#의 경향은 문보다는 식을 사용하여 코드를 간결하게 유지하는 형태가 많아서 이 예제를 소개했습니다.

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