코틀린의 엘비스 연산자(?:)는 널 처리와 관련된 작업을 간단하게 만들어주는 연산자다. 이름의 유래는 "엘비스 프레슬리의 머리 모양과 닮았다"고 해서 붙여진 것이라고 한다.
?: 연산자는 왼쪽의 표현식이 null이 아니면 그 값을 반환하고, null인 경우 오른쪽의 값을 반환한다.
구문:
val result = value ?: defaultValue
동작 방식:
value가 null이 아니면 result는 value의 값을 가진다.value가 null이면 result는 defaultValue의 값을 가진다.Kotlin에서는 null 안정성을 보장하기 위해 null 값을 명시적으로 처리해야 한다. 이를 위해 null 체크가 필요한데, 엘비스 연산자를 활용하면 코드를 간결하게 작성할 수 있다.
fun main() {
val name: String? = null
val displayName = name ?: "Unknown"
println(displayName) // 출력: Unknown
}
name이 null이므로, displayName은 "Unknown"이 된다.