KOTLIN · 기초 문법
if 표현식 & when 표현식
Kotlin의 if와 when은 문(statement)이 아닌 표현식(expression)입니다. 값을 반환합니다.
기초 문법입문ifwhen표현식expressionswitch
핵심 설명
Kotlin의 if와 when은 문(statement)이 아닌 표현식(expression)입니다. 값을 반환합니다.
Kotlin code
val score = 85
// if는 표현식 — 삼항연산자 불필요
val grade = if (score >= 90) "A"
else if (score >= 80) "B"
else if (score >= 70) "C"
else "F"
// when — Java switch보다 강력
val msg = when (score) {
100 -> "만점!"
in 90..99 -> "우수"
in 80..89 -> "양호"
in 70..79 -> "보통"
else -> "노력 필요"
}
// when without argument (if-else chain 대체)
when {
score > 95 -> println("탑 5%!")
score > 80 -> println("상위권")
else -> println("분발하세요")
}
// when + 타입 체크
fun describe(obj: Any): String = when (obj) {
is Int -> "정수: $obj"
is String -> "문자열 길이: ${obj.length}"
is List<*>-> "리스트 크기: ${obj.size}"
else -> "알 수 없는 타입"
}학습 팁
when을 표현식으로 쓸 때(값을 반환할 때) 컴파일러가 모든 케이스를 커버했는지 검사합니다. Sealed class와 함께 쓰면 else 없이도 완전성이 보장됩니다.
주의할 점
when을 표현식으로 사용하면서 else를 빠뜨리면 컴파일 에러입니다.
자주 묻는 질문
if 표현식 & when 표현식란 무엇인가요?
Kotlin의 if 와 when 은 문(statement)이 아닌 표현식(expression) 입니다. 값을 반환합니다.
if 표현식 & when 표현식 학습 시 주의할 점은 무엇인가요?
when 을 표현식으로 사용하면서 else 를 빠뜨리면 컴파일 에러입니다.
Continue Learning
Kotlin 학습을 이어가세요
총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.