반응형
목차
표현식(Expression)과 구문(Statement), 둘이 어떻게 다른데?
표현식과 구문은 프로그래밍에서 중요한 개념이며, 헷갈릴 수 있지만 두 개념의 차이에 대해서 알아보자.
이에 대한 정리는 아래와 같다.
표현식(Expression)
- "값을 생성하는 코드"
- 결과적으로 어떤 값을 반환하는 코드 조각
- 변수를 만들거나 연산을 수행할 때 사용
- 표현식 자체가 값이 될 수 있으므로, 다른 표현식 안에 포함될 수 있다.
구문(Statement)
- "어떤 동작을 수행하는 코드"
- 프로그램의 흐름을 제어하거나 특정 작업을 수행하는 코드 조각
- 값을 직접 반환하지 않고, 실행하는 것이 목적
조건문의 예를 보자면, if 문은 말 그대로 구문이며 그 뒤에 오는 조건에는 표현식이 들어간다.
표현식 vs 구문

정리하자면
- 표현식(Expression)은 값을 만들고, 구문(Statement)은 동작을 수행한다.
- 표현식은 값이 될 수 있지만, 구문은 실행만 하고 값을 가지지 않는다.
표현식은 구문의 부분집합이라는 주장
구글 검색을 하다 보니 표현식이 구문의 부분집합이라는 의견이 있었다.
- 모든 표현식은 구문으로 사용할 수 있다. => x = 3 + 5에서 3 + 5는 표현식이지만, 전체 줄이 할당 구문(Assignment Statement)이므로 표현식을 구문의 일부로 볼 수 있다.
- 하지만, 모든 구문이 표현식이 될 수는 없다. => if문, while문, for문과 같은 제어 흐름 구문은 값을 반환하지 않으므로 표현식이 될 수 없다.
위에 논리대로라면 "표현식이 구문의 부분집합이다."라는 주장은 성립한다고 볼 수 있다.
함께 읽으면 좋은 글
문 스타일(statement style) vs 식 스타일(expression style)
문 스타일(statement style) 결과를 도출하기보다 행위를 정의하는 것은 명령형 프로그래밍(Imperative Programming) 기법의 하나다. 즉, 컴퓨터에게 무엇을 해야 할지 이야기하는 방식으로 소스 코드를 이
jettstream.tistory.com
'프로그래밍' 카테고리의 다른 글
JsonUtility 유니티에서 가볍고 빠르게 JSON 직렬화 하기 (0) | 2025.03.24 |
---|---|
JSON-RPC란 무엇인가? (0) | 2025.03.19 |
API 호출을 위해 포스트맨을 사용해보자 (1) | 2025.02.19 |
이스케이프 문자(Escape Character)에 대해서 (0) | 2025.02.12 |
127.0.0.1 vs 0.0.0.0 vs localhost 차이점 정리해보자 (0) | 2025.01.31 |
댓글