data class — класс для хранения данных: компилятор генерирует equals/hashCode/toString/copy и componentN для деструктуризации.
Разбор
- Первичный конструктор должен иметь ≥1 параметра (обычно
val/var).
copy удобен для immutable обновлений в UI-state.
- Наследование data class ограничено; лучше композиция.
equals сравнивает свойства из primary constructor.
Пример
data class User(val id: Long, val name: String)
val u2 = u1.copy(name = "Ann")
Итог
Data class — стандарт для DTO, UI-state и value-объектов в Kotlin.