Kotlin
if 표현식 & when 표현식
Kotlin의 if와 when은 문(statement)이 아닌 표현식(expression)입니다. 값을 반환합니다.
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 -> "알 수 없는 타입"
}