PHpullh
학습 라이브러리/Kotlin/if 표현식 & when 표현식

KOTLIN · 기초 문법

if 표현식 & when 표현식

Kotlin의 ifwhen문(statement)이 아닌 표현식(expression)입니다. 값을 반환합니다.

기초 문법입문ifwhen표현식expressionswitch

핵심 설명

Kotlin의 ifwhen문(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 를 빠뜨리면 컴파일 에러입니다.