Какие знаешь случаи использования object в Kotlin

«Какие знаешь случаи использования object в Kotlin» — вопрос из категории Kotlin, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

  1. Singleton – создание единственного экземпляра класса:
object DatabaseHelper {
    fun queryData() { ... }
}
  1. Companion Object – замена статических методов/полей:
class MyClass {
    companion object {
        const val TAG = "MyClass"
        fun create() = MyClass()
    }
}
  1. Anonymous Object – анонимные объекты вместо Java-анонимных классов:
setOnClickListener(object : View.OnClickListener {
    override fun onClick(v: View?) { ... }
})
  1. Объекты-константы – хранение неизменяемых данных.
  2. Объекты в sealed классах – для представления состояний/событий.

Используется для структур, где не нужны множественные экземпляры.