> Что такое companion objects в Kotlin (Kotlin, Android)

Уровень: junior · Роль: mobile · Категория: Технические вопросы

Компании: ЛеруаМерлен, Ozon, Яндекс, Астра, IBS

Стек: Kotlin, Android

> Пример ответа

Companion object в Kotlin - это специальный объект, объявленный внутри класса с ключевым словом companion. Он позволяет определять члены (свойства и функции), которые принадлежат самому классу, а не его экземплярам, аналогично статическим членам в Java. Однако в Kotlin нет ключевого слова static - вместо этого используется механизм объектов-компаньонов.

Пример:

class MyClass {
    companion object {
        const val TAG = "MyClass"
        fun create(): MyClass = MyClass()
    }
}

Здесь TAG и create() доступны через имя класса: MyClass.TAG или MyClass.create(). Компаньон может иметь имя (например, companion object Factory), но по умолчанию он называется Companion. Важно: companion object - это синглтон, связанный с классом, и он может реализовывать интерфейсы или наследоваться от других классов. На Android это часто используется для фабричных методов, констант (например, TAG для логирования) или для объявления Parcelable.Creator.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью