Menu
CoddyTech

Elvis 연산자

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

안전 호출 연산자는 충돌을 방지하는 데 유용하지만, 때로는 null 대신 실제 값이 필요합니다. 엘비스 연산자 ?:를 사용하면 표현식이 null일 때 기본값을 지정할 수 있습니다.

구문은 간단합니다. nullable 표현식 뒤에 ?:를 넣고, 그 뒤에 대체 값을 지정합니다.

fun main() {
    val name: String? = null
    val displayName = name ?: "Guest"
    println(displayName)  // 출력: Guest
}

왼쪽이 null이 아니면 해당 값이 사용됩니다. null이면 오른쪽이 결과가 됩니다. 이는 안전 호출과 함께 사용하면 완벽하게 작동합니다.

fun main() {
    val text: String? = null
    val length = text?.length ?: 0
    println(length)  // 출력: 0
    
    val greeting: String? = "Hello"
    val greetingLength = greeting?.length ?: 0
    println(greetingLength)  // 출력: 5
}

이 연산자는 ?:를 옆에서 보면 엘비스의 머리 모양처럼 보여서 이런 이름이 붙었습니다. 더 중요한 점은 적절한 기본값을 사용해 nullable 형식을 non-nullable 값으로 변환하는 깔끔한 방법을 제공한다는 것입니다.

challenge icon

챌린지

쉬움

소포에는 선택적 추적 레이블과 선택적 목적지가 있습니다. 시작 코드에는 두 nullable 값이 모두 제공됩니다. 추적 레이블이 없으면 ?:를 사용해 "Pending"을 선택하고, 목적지가 없으면 "Unassigned"를 선택하세요. 선택한 레이블을 출력한 다음, 선택한 목적지를 별도의 줄에 출력하세요.

직접 해보기

fun main() {
    val trackingLabel: String? = null
    val destination: String? = "Harbor"
    // 표시할 두 값을 선택하고 출력합니다.
}
quiz icon실력 점검

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

기초의 모든 레슨

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