[kotlin] 코틀린에서의 널 비교 연산과 논리 연산
코틀린은 널 안전성(null safety)을 가진 프로그래밍 언어로, 널 포인터 예외를 방지하기 위한 다양한 기능을 제공합니다. 널 포인터 예외를 방지하기 위해서 코틀린에서는 널(null)을 명시적으로 다루는 방법과 안전한 연산자를 제공합니다.
널 비교 연산자
==
와 !=
는 널을 처리하는 데 있어 특별한 기능을 합니다.
val a: String? = "Hello"
val b: String? = null
println(a == b) // false
println(a != b) // true
위의 예제에서 ==
연산은 a
와 b
가 같은지 비교합니다. 하지만 a
는 널이 아닌 “Hello”이고 b
는 널이므로 false
를 반환합니다. 반면에 !=
연산은 a
와 b
가 다른지 비교합니다. 따라서 true
를 반환합니다.
안전한 호출 연산자
안전한 호출 연산자 ?.
는 메소드 호출과 프로퍼티 접근 시, 해당 대상이 널이 아닌 경우에만 작동합니다.
val str: String? = null
println(str?.length) // null
위의 코드를 보면 str
이 널이므로 str.length
가 아닌 null
을 반환합니다.
엘비스 연산자
엘비스 연산자 ?:
는 널일 경우 대체 값을 지정할 수 있습니다.
val nullableStr: String? = null
val result: String = nullableStr ?: "Default Value"
println(result) // Default Value
nullableStr
이 널일 경우 result
는 “Default Value”로 설정됩니다.
코틀린은 간결하고 안전한 널 처리를 위한 다양한 방법을 제공하여 프로그래밍 작업을 보다 쉽고 안정적으로 만들어 줍니다.