Companion object는 싱글턴 객체를 이용할 때 사용됩니다.
코틀린에서 Companion object는 클래스 내부에 정의되는 싱글턴 객체입니다. 이 객체는 클래스의 인스턴스와는 별개로 존재하며, 클래스 내부에서 정의된 메서드나 프로퍼티에 접근할 수 있습니다.
class MyClass {
companion object {
const val CONSTANT_VALUE = "Hello, world!"
fun myFunction() {
println("This is a function inside the companion object.")
}
}
}
위 코드에서 `companion object`를 사용하여 `MyClass` 내부에 싱글턴 객체를 정의하고 있습니다. 이 객체는 `CONSTANT_VALUE`와 `myFunction()`이라는 두 개의 멤버를 가지고 있습니다.
`CONSTANT_VALUE`는 값을 변경할 수 없는 상수로 선언되어 있으며, `myFunction()`은 단순히 콘솔에 출력하는 함수입니다.
이렇게 정의된 companion object의 멤버들은 클래스 이름을 통해 접근할 수 있습니다.
MyClass.CONSTANT_VALUE // "Hello, world!"
MyClass.myFunction() // "This is a function inside the companion object."
따라서 companion object는 클래스 내부에서 유일하게 사용해야 하는 싱글턴 객체를 생성하고, 이 객체에 대한 메서드나 프로퍼티를 정의할 때 유용하게 사용됩니다.
'언어 > 코틀린' 카테고리의 다른 글
[Kotlin] 생성자 (0) | 2023.09.05 |
---|---|
[Kotlin] trim() (0) | 2023.05.23 |
[Kotlin] 코틀린 기초 - 변수, 데이터 타입 (0) | 2023.01.17 |