[코틀린] 엘비스 연산자

Hojun Song ·2023년 7월 27일
0

"엘비스(Elvis)" 연산자는 코틀린에서 사용되는 특별한 연산자로, null 체크를 간편하게 수행하는데 사용됩니다. 느낌표와 콜론 기호(?:)를 조합하여 표현합니다. 이 연산자는 주로 null인지 아닌지를 확인하고, null인 경우 대체값을 지정하는 용도로 활용됩니다.

엘비스 연산자의 구문은 다음과 같습니다:

val result = nullableValue ?: defaultValue

여기서 nullableValue는 null일 수 있는 변수나 표현식을 나타내고, defaultValue는 nullableValue가 null인 경우 사용할 기본값을 의미합니다.

예를 들어, 아래와 같은 코드는 name 변수가 null인지 아닌지를 확인하고, null인 경우 기본값으로 "Unknown"을 사용하는 예제입니다:

fun main() {
    val name: String? = null

    // 엘비스 연산자를 사용하여 null 체크와 대체값 지정
    val result = name ?: "Unknown"

    // result 변수는 name이 null이면 "Unknown"이 할당되고, 그렇지 않으면 name의 값이 할당됨
    println(result)
}
// 놀이터에 온 친구의 나이를 저장하는 변수야.
// 친구가 아직 나이를 말하지 않았으면 null로 표시할 거야.
var 친구나이: Int? = null

// 만약 친구가 나이를 말해주었다면 그 값을 출력하는 함수야.
// 나이를 모르면 대신 "나이를 모르겠어요!"를 출력할 거야.
fun 나이출력() {
    // 엘비스 연산자를 사용해 나이가 null인지 아닌지를 확인해볼게.
    // 만약 나이가 null이면 "나이를 모르겠어요!"를 출력하고, null이 아니면 친구의 나이를 출력할 거야.
    val 나이결과 = 친구나이 ?: "나이를 모르겠어요!"

    println(나이결과)
}

fun main() {
    // 놀이터에 온 친구가 나이를 말해주었어요.
    친구나이 = 8

    // 나이를 출력하는 함수를 호출할게요.
    // 친구가 나이를 말해줬으므로 친구의 나이인 8이 출력될 거야.
    나이출력()

    // 이번에는 놀이터에 온 친구가 나이를 말하지 않았어요.
    // 나이를 모르는 상태에서 나이 출력 함수를 호출해볼게요.
    // 이제 나이를 모르기 때문에 "나이를 모르겠어요!"가 출력될 거야.
    친구나이 = null
    나이출력()
}
profile
A web backend developer, let's share information and problem solving!

0개의 댓글