Kotlin/포스팅

코틀린 널 가능성 애너테이션

짜집퍼박사(짜박) 2024. 1. 6. 23:35

코틀린에서는 널 가능성(Nullable)에 대한 정보를 표시하기 위해 널 가능성 애너테이션을 사용합니다. 이러한 애너테이션은 코드에서 널 처리와 관련된 경고를 통해 프로그래머에게 유용한 정보를 제공합니다. 주로 자바와의 상호 운용성을 강화하고 안전한 널 처리를 위해 사용됩니다.

 

널 가능성 애너테이션 종류

1. @Nullable

- @Nullable 애너테이션은 해당 요소(타입이나 메서드 매개변수 등)가 널 값을 가질 수 있다는 것을 나타냅니다.
- 자바에서의 @Nullable 애너테이션과 함께 사용되어 널 가능성에 대한 정보를 전달합니다.

2. @NotNull

- @NotNull 애너테이션은 해당 요소가 널 값을 가질 수 없다는 것을 나타냅니다.
- 자바에서의 @NotNull 애너테이션과 함께 사용되어 널을 허용하지 않음을 명시합니다.

3. @JvmField

@JvmField 애너테이션은 코틀린 프로퍼티를 자바 필드로 노출할 때 사용됩니다. 이 애너테이션은 자바 컴파일러에게 해당 필드가 널이 될 수 있다는 것을 알려줍니다.

 

사용 예제

import org.jetbrains.annotations.Nullable
import org.jetbrains.annotations.NotNull

class Example {
    // @Nullable 애너테이션을 사용한 예제
    fun processNullable(@Nullable data: String?) {
        // 널 가능성이 있으므로 안전한 널 처리 필요
        if (data != null) {
            println(data.length)
        }
    }

    // @NotNull 애너테이션을 사용한 예제
    fun processNotNull(@NotNull data: String) {
        // 널이 아니기 때문에 안전한 사용 가능
        println(data.length)
    }
}

위의 예제에서 @Nullable과 @NotNull 애너테이션은 각각 널 가능성이 있는 매개변수와 널이 아닌 매개변수를 나타냅니다. 이러한 애너테이션을 사용하면 함수나 메서드의 매개변수에 대한 널 처리에 대한 정보를 코드에서 명시할 수 있습니다.

자바와의 상호 운용성을 강화하고 코드의 가독성을 높이기 위해 널 가능성 애너테이션을 적절히 활용하는 것이 좋습니다.

 

With ChatGPT

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

코틀린 단일 추상 메서드 인터페이스  (0) 2024.01.07
코틀린/자바 타입 매핑  (0) 2024.01.07
코틀린 플랫폼 타입  (0) 2024.01.06
코틀린 합성 프로퍼티  (0) 2024.01.06
코틀린 Unit과 void  (0) 2024.01.06