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