2022. 12. 24. 17:03ㆍKotlin
식은 무엇이고 문은 무엇일까?
식(expresssion)은 값을 만들어 내며 다른 식의 하위 요소로 계산에 참여할 수 있는 것을 말합니다.
즉, 값을 반환하여 다른 곳에서도 사용될 수 있으면 이것은 식입니다.
val age = 25
true
false
등등 이런 '값'은 다른 식의 하위 요로소 계산에 참여할 수 있습니다.
하지만 문은 그렇지 않습니다.
문은 자신을 둘러싸고 있는 가장 안쪽 블록의 최상위 요소로 존재하며 아무런 값을 만들어내지 않습니다.
if(a > b) {
return a
else
return b
switch(a) {
case 1:
return 1;
case 2:
return 2;
default:
return 0;
문에 대해서는 이전에 작성한
Statement-Level (two-way selection)
이번 글에서는 Statement-level 그러니까 당한 '~문' 에 대해서 알아볼 것이다. 프로그래밍에서 '~문' 하면 떠오르는 것들이 몇 가지 있을 것이다. 대표적으로 for문, while문, if문, switch 문 등이 있다. 그
mirrorofcode.tistory.com
이 글을 보면 간단하게나마 이해가 될 수 있습니다.
대부분의 언어에서는 If는 if(문)이지 if(식)이 아닙니다.
그말은 즉 if가 어떤 식의 하위 요소로 계산에 참여할 수 있다는 뜻이죠.
이렇게 말입니다.
fun max(a: Int, b: Int): Int {
return if(a>b) a else b
if가 return문에 하위 요소로 계산에 직접적으로 참여했습니다.
마치 Java의 삼항 연산자처럼 말이죠.
자바에서는 모든 제어구조가 '문'인 반면 코틀린에서는 루프를 제외한 대부분의 제어구조가 '식'입니다.
그렇기 때문에 일반적인 패턴을 훨씬 간결하게 표현할 수 있습니다.
이렇게 제어구조가 식은 것은 코틀린만 그렇것이 아닙니다.
파이썬도 그렇습니다.
def max(a: int, b: int):
return a if a > b else b
이렇든 코틀린은 자바와 다른 언어 체계를 가지고 있습니다.
덕분에 우리는 훨씬 간결한 코드를 작성할 수 있습니다.
코틀린의 철학인 간결성이 빛나는 순간입니다.
'Kotlin' 카테고리의 다른 글
(Kotlin) 코틀린의 접근제어자(vs Java 제어자) (0) | 2022.12.31 |
---|