Menu
Coddy logo textTech

표현식으로서의 If

Coddy Kotlin 여정의 기초 섹션에 포함된 레슨. 93개 중 31번째.

if를 인라인으로 사용하여 두 값 중 하나를 선택하는 방법을 살펴보았습니다. 하지만 if-else 블록에 여러 문이 포함되어 있더라도 전체 구조를 표현식으로 사용할 수 있습니다. 각 분기에서 마지막 표현식이 반환되는 값이 됩니다.

fun main() {
    val score = 85
    
    val message = if (score >= 60) {
        val grade = "passing"
        "You got a $grade score!"
    } else {
        val grade = "failing"
        "You got a $grade score."
    }
    
    println(message)  // 출력: You got a passing score!
}

각 분기에는 여러 문이 포함될 수 있지만, 분기의 마지막 표현식이 반환되어 변수에 할당됩니다. 이 경우 각 블록의 마지막 줄에 있는 문자열이 message의 값이 됩니다.

이는 else if 체인에서도 작동합니다:

fun main() {
    val temperature = 25
    
    val description = if (temperature > 30) {
        "Hot"
    } else if (temperature > 20) {
        "Warm"
    } else {
        "Cool"
    }
    
    println(description)  // 출력: Warm
}

if를 표현식으로 사용할 때는 else 분기가 필수입니다. 어떤 조건이 참이더라도 값이 반환되도록 Kotlin이 보장해야 하기 때문입니다.

challenge icon

챌린지

쉬움

다음 변수가 주어집니다:

val hours = 45

각 분기에서 여러 문을 사용하는 if 표현식을 사용하여 근로자의 급여 상태를 확인하고 메시지를 만드세요.

if 표현식을 사용하여 payStatus 변수를 만드세요:

  • hours가 40보다 큰 경우:
    • hours - 40과 같은 overtime 변수를 만드세요.
    • 마지막 표현식은 "Overtime: $overtime extra hours"여야 합니다.
  • 그렇지 않은 경우:
    • 40 - hours와 같은 remaining 변수를 만드세요.
    • 마지막 표현식은 "Regular: $remaining hours until overtime"여야 합니다.

payStatus의 값을 출력하세요.

직접 해보기

fun main() {
    val hours = 45
    
    // TODO: 아래에 코드를 작성하세요
    // if 표현식을 사용하여 payStatus 변수를 만드세요
    // hours > 40인 경우: overtime 변수를 만들고 "Overtime: $overtime extra hours"를 반환하세요
    // 그렇지 않으면: remaining 변수를 만들고 "Regular: $remaining hours until overtime"를 반환하세요
    
    
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨

직접 연습해 보세요: Kotlin 플레이그라운드