Sobes.tech
Назад к вопросам
Junior — Middle
70

В чем предназначение объекта companion в языке Kotlin?

Ответ от нейросети

sobes.tech AI

В Kotlin объект companion используется для объявления компаньон-объекта внутри класса. Это позволяет создавать статические члены (методы и свойства), которые принадлежат классу, а не конкретному экземпляру.

Компаньон-объект ведёт себя как синглтон, связанный с классом, и его члены можно вызывать через имя класса без создания объекта.

Пример:

class MyClass {
    companion object {
        fun create(): MyClass = MyClass()
        const val CONSTANT = 42
    }
}

fun main() {
    val instance = MyClass.create()  // вызов компаньон-метода
    println(MyClass.CONSTANT)        // доступ к компаньон-константе
}

Таким образом, companion object заменяет статические члены, которых нет в Kotlin, и позволяет удобно группировать связанные с классом функции и данные.