Ответ
class — это шаблон для создания объектов (экземпляров). Он определяет свойства и методы, но не существует в памяти до создания экземпляра.
object — это синглтон, который создается сразу при первом обращении и существует в единственном экземпляре. Используется, когда нужен только один экземпляр класса.
Пример:
class Car(val model: String) {
fun drive() = println("Driving $model")
}
object Logger {
fun log(message: String) = println("LOG: $message")
}
// Использование:
val car = Car("Tesla") // создаем экземпляр
car.drive()
Logger.log("Started") // объект уже существует