(Kotlin) 코틀린의 식(expression)과 문(statement)

2022. 12. 24. 17:03Kotlin

반응형

식은 무엇이고 문은 무엇일까?

 

식(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