Объект в Kotlin — это способ создания синглтона. Он объявляется с использованием ключевого слова object и является единственным экземпляром класса, который инициализируется при первом обращении.
kotlin
Объект-компаньон (companion object) привязан к классу и используется для объявления статических элементов (полей и методов), доступных по имени класса. Можно иметь только один объект-компаньон на класс. Он инициализируется при загрузке класса.
kotlin
Сравнение:
| Свойство | Объект (object) | Объект-компаньон (companion object) |
|---|---|---|
| Назначение | Синглтон (единственный экземпляр) | Статические элементы класса (поля, методы) |
| Доступ | По имени объекта | По имени класса |
| Количество на класс | Не связан с классом (может быть самостоятельным) | Один на класс |
| Инициализация | При первом обращении к объекту | При загрузке класса |