[kotlin] 코틀린 object 선언의 널 타입 안전성
코틀린은 널 포인터 예외를 방지하기 위해 널 타입 안전성을 제공합니다. 하지만 “object” 선언에서는 일반적인 널 타입 규칙이 적용되지 않을 수 있습니다.
Object 선언의 특징
코틀린에서 “object” 키워드를 사용하여 싱글톤 객체를 선언할 수 있습니다. 이는 해당 객체의 인스턴스가 오직 하나만 존재함을 보장합니다.
object MySingleton {
fun doSomething() {
// 내용
}
}
널 타입 안전성과 Object 선언
“object” 선언은 널 타입 안전성의 장점을 가지고 있지만, 예외적으로 null
을 가질 수 있습니다.
object MySingleton {
var someProperty: String? = null
}
위 예에서 “someProperty”는 널 타입을 가질 수 있도록 String?
으로 선언되었습니다. 이로 인해 싱글톤 객체 내에서 널 타입의 변수를 사용하는 부분에서 추가적인 주의가 필요합니다.
따라서, “object” 선언에서는 널 타입을 사용할 때에는 해당 변수나 속성을 안전하게 처리하는 것이 중요합니다.
결론
코틀린은 일반적으로 널 타입을 안전하게 처리하여 널 포인터 예외를 방지하는데, “object” 선언에서는 예외적으로 널 타입을 가질 수 있습니다. 개발자는 이를 고려하여 안전한 코딩을 위해 주의 깊게 처리해야 합니다.
자세한 내용은 코틀린 공식 문서를 참고할 수 있습니다.