Kotlin/포스팅

코틀린 널 아님 단언 연산자

짜집퍼박사(짜박) 2023. 12. 30. 16:01

코틀린에서 널 아님 단언 연산자는 변수가 null이 아님을 단언할 때 사용됩니다. 이 연산자는 !!로 표현되며, 변수 또는 표현식에 사용되어 해당 값이 null이 아님을 명시적으로 나타냅니다.

아래는 널 아님 단언 연산자의 사용 예제입니다.

fun processValue(value: String?) {
    // value가 null이 아님을 단언
    val length: Int = value!!.length

    // 이후 length를 사용해도 컴파일러는 null이 아니라고 인식함
    println("Length: $length")
}

위의 코드에서 value!!.length는 value가 null이 아니라고 단언하는 부분입니다. 이 연산자는 개발자가 해당 값이 null이 아님을 명시적으로 보장할 때 사용되지만, 사용에 주의가 필요합니다.

 

주의사항

1. NullPointerException 발생 가능성: 만약 단언 연산자를 사용하여 null이 아니라고 단언한 변수가 실제로 null이라면 NullPointerException이 발생합니다. 따라서 단언 연산자를 사용할 때는 해당 값이 null이 아님을 확실히 확인한 후에 사용해야 합니다.
2. 피해야 할 사용: 가능하면 안전한 호출 연산자(?.)나 엘비스 연산자(?:)를 사용하여 null 처리를 하는 것이 좋습니다. 단언 연산자는 프로그래머가 컴파일러에게 "이 변수는 절대로 null이 아니다"라고 확신할 때만 사용해야 합니다.
3. 코드 안정성 감소: 단언 연산자를 남용하면 코드의 안정성이 감소할 수 있습니다. 코틀린에서는 널 처리에 강한 기능들을 제공하므로, 가능하면 안전한 방법으로 널을 다루는 것이 좋습니다.

널 아님 단언 연산자는 특정 상황에서 유용하지만, 사용에 주의하여야 하며 가능하면 다른 널 처리 방식을 고려하는 것이 좋습니다.

 

With ChatGPT

'Kotlin > 포스팅' 카테고리의 다른 글

코틀린 엘비스 연산자  (0) 2023.12.30
코틀린 안전한 호출 연산자  (0) 2023.12.30
코틀린 스마트 캐스트  (0) 2023.12.30
코틀린 널 가능성  (0) 2023.12.30
코틀린 지역 클래스  (0) 2023.12.30