Думаю, многие уже подняли версию котлин и обнаружили там data object внутри sealed class (ещё год назад). Я сделала это совсем недавно, поэтому давайте сейчас разберемся, что это такое, зачем он нужен, и чем отличается от обычного object. Напомню, что data class — это такие классы, которые автоматически генерируют equals(), hashCode() и toString(), чтобы они сразу зависели от состояния нашего котика (изменится возраст - изменятся результаты методов). А теперь представьте себе нечто подобное, но и для объектов. data object — это новый модификатор, который позволяет создавать синглтоны (котиков, существующих в единственном экземпляре), автоматически генерируя для них полезные методы, аналогичные тем, что есть в data class. Представим, что у нас есть объект CatPerson, который должен существовать в единственном экземпляре и хранить данные о том, сколько котиков человек погладил: Этот объект автоматически получит методы equals(), hashCode(), и toString(). Это полезно, если мы хотим корректн