프로그래밍 언어에서 가장 작은 코드 조각인
식과 문
앞에서 잠깐씩 식과 문이 언급되기는 했지만, 이에 대한 설명 없이 지나갔었는데,
이번 아톰에서는 식과 문을 다룰 예정이다.
식과 문이 무엇이고 이가 어떻게 사용되는지 알아보자
[ 문 : statement ]
문(statement)
: 효과를 발생시키지만 결과를 내놓지 않음
: 결과가 없기에 필요있으려면 주변의 상태를 변경
: 즉, 부수 효과(side effect)를 얻기 위해 문을 사용
- A Statement chagnes state : 문은 상태를 변경한다.
fun main(){
val f = for(i in 0...3){} // for는 문
}
- for는 식이 아닌 문으로 결과값을 만들어내지 않기 때문에 for문을 다른 변수에 대입할 수 없음
[ 식 : expression ]
식(expression)
: 항상 결과를 만듦
: 'express'는 힘을 주거나 짜내 무언가를 배출한다는 의미로 결과를 도출함을 의미
: 식은 다른 식의 일부분이 되거나 변수에 대입할 수 없는 최상위 요소
: 모든 함수 호출 코드는 식
- An expression expresses : 식은 값을 짜낸다.
fun unitFun() = Unit
fun main(){
print(unitFun) // 출력 결과 : kotlin.Unit
val e:Unit = print(45) // 출력 결과 : 45
print(e) // 출력 결과 : kotlin.Unit
val e1 = if(1<2){
val a = 10 // 영역 안에 선언되었기 때문에 영역을 벗어나면 a도 버려짐
a+20
}
val e2 = if('x' < 'y'){
print("x<y")
}else{
print("x>y")
}
// 위 if 문 출력 결과 : x<y
print(e2) // 출력 결과 : 30
print(e3) // 출력 결과 : kotlin.Unit
}
- 부수 효과를 목적으로 호출되더라도 여전히 함수 호출 결과를 변수에 대입할 수 있음
- if / 증감 연산자도 식
[ 오늘의 학습 소감 ]
오늘은 식과 문에 대한 설명과 예제를 접해보았는데, 이전과는 달리 오늘은 코드를 보는 것 보다는 글을 봐야 이해할 수 있는 아톰이었다. 물론 글을 명확히 이해했을 때 코드가 주는 도움도 있었지만, 그건 글을 이해한 다음,,, 오늘의 핵심은 식과 문이 정확히 무엇이고 무엇을 해주는지를 이해했다면 학습에 많은 도움을 받았을 것이라고 생각했다.
'공부 자료 > 코틀린[Kotlin]' 카테고리의 다른 글
[Atomic 17] 클래스 만들기 (0) | 2024.01.16 |
---|---|
[Atomic 16] 객체는 모든 곳에 존재한다 (feat. 클래스/멤버 기본) (0) | 2024.01.15 |
[Atomic 13] in 키워드 (feat. 이터레이션의 in / 포함 여부 in) (1) | 2024.01.13 |
[Atomic 12] 루프와 범위 (feat. for문) (5) | 2024.01.11 |
[Atomic 11] while로 반복하기 (0) | 2024.01.10 |