코틀린은 다양한 연산자를 제공하여 개발자의 편의성을 증진시키는데, 그 중 하나가 바로 Elvis 연산자 (?:)입니다. 이 연산자는 주로 null 검사에 활용되며, 좌측 피연산자의 값이 null
이 아니면 그 값을 반환하고, null
이면 우측 피연산자의 값을 반환합니다.
Elvis 연산자의 기본 구조:
val result = value ?: defaultValue
위 코드에서 value
가 null
이 아니라면 result
에 value
가 할당되고, null
이라면 defaultValue
가 할당됩니다.
예제 코드:
fun main() {
val name: String? = null
val defaultName = "홍길동"
// Elvis 연산자를 사용하여 name이 null일 경우 defaultName을 할당
val displayName = name ?: defaultName
println(displayName) // 홍길동 출력
val age: Int? = 25
val defaultAge = 0
// Elvis 연산자를 사용하여 age가 null이 아니므로 age 값을 할당
val displayAge = age ?: defaultAge
println(displayAge) // 25 출력
}
상세한 주석:
fun main() {
// nullable String 타입의 변수를 선언하고 null로 초기화
val name: String? = null
// 기본 이름으로 사용할 String 변수 선언
val defaultName = "홍길동"
// Elvis 연산자를 사용하여 name 변수의 값이 null인지 확인
// null이면 defaultName의 값을, 아니면 name의 값을 displayName에 할당
val displayName = name ?: defaultName
println(displayName) // 홍길동 출력
// nullable Int 타입의 변수를 선언하고 25로 초기화
val age: Int? = 25
// 기본 나이로 사용할 Int 변수 선언
val defaultAge = 0
// Elvis 연산자를 사용하여 age 변수의 값이 null인지 확인
// null이면 defaultAge의 값을, 아니면 age의 값을 displayAge에 할당
val displayAge = age ?: defaultAge
println(displayAge) // 25 출력
}
엘비스 연산자는 코틀린에서 nullable 타입과 함께 사용하여 더 간결하고 안전한 코드를 작성할 수 있게 도와줍니다.
'Language > Kotlin' 카테고리의 다른 글
Kotlin 확장 함수 (Extension Functions) (0) | 2023.08.28 |
---|---|
Retrofit(feat. 시뮬레이션 코드) (0) | 2023.08.25 |
리플렉션(Reflection) in Kotlin & Spring (0) | 2023.08.24 |
클래스 리터럴이란? (0) | 2023.08.24 |
Kotlin의 `filter`와 `map` 함수 (0) | 2023.08.24 |