이 문서는 Google Cloud Translation API를 사용해 자동 번역되었습니다.
어떤 문서는 원문을 읽는게 나을 수도 있습니다.
Kotlin의 유형 시스템은 null 값이 필요하지 않도록 설계되었습니다. 그러나 Java로 작성된 레거시 코드와 인터페이스할 때와 같이 null 값이 필요한 경우가 있습니다. 이러한 경우 null 개체 패턴을 사용하여 null 값 대신 null이 아닌 개체를 제공할 수 있습니다.
null 개체 패턴은 null 값의 필요성을 제거하는 것을 목표로 하는 디자인 패턴입니다. null 값 대신 null이 아닌 개체를 제공하여 이를 수행합니다. 이 null이 아닌 개체는 값이 없음을 나타내는 데 사용할 수 있습니다.
null 객체 패턴은 값이 없음을 나타내는 객체를 생성하여 작동합니다. 이 개체는 null 값 대신 사용할 수 있습니다. 개체에 빈 문자열과 같은 기본값을 지정하거나 상황에 적합한 동작을 지정할 수 있습니다.
Java로 작성된 레거시 코드와 인터페이스할 때와 같이 null 값이 필요한 경우 null 객체 패턴을 사용해야 합니다.
null 개체 패턴에는 다음과 같은 몇 가지 이점이 있습니다.
null 개체 패턴에는 한 가지 단점이 있습니다.
다음 단계를 사용하여 Kotlin에서 null 객체 패턴을 구현할 수 있습니다.
첫 번째 단계는 개체에 대한 인터페이스를 만드는 것입니다. 이 인터페이스는 개체에 대한 계약을 정의합니다.
interface MyInterface {
fun doSomething()
}
두 번째 단계는 인터페이스를 구현하는 클래스를 만드는 것입니다. 이 클래스는 개체에 대한 구현을 제공합니다.
class MyClass : MyInterface {
override fun doSomething() {
// do something
}
}
세 번째 단계는 값이 없음을 나타내는 개체를 만드는 것입니다. 이 개체는 null 값 대신 사용할 수 있습니다.
object MyObject : MyInterface {
override fun doSomething() {
// do something
}
}
null 개체 패턴은 다음과 같이 사용할 수 있습니다.
fun doSomething(myInterface: MyInterface?) {
if (myInterface != null) {
myInterface.doSomething()
}
}
fun main() {
val myClass: MyClass? = MyClass()
val myObject: MyObject? = MyObject()
doSomething(myClass)
doSomething(myObject)
}