Ответ
Data class — это специальный класс в Kotlin, предназначенный для хранения данных. Он автоматически генерирует полезные методы: equals(), hashCode(), toString(), copy() и componentN() функции (для деструктуризации).
Основные особенности:
- Объявляется с ключевым словом
data - Параметры в первичном конструкторе автоматически становятся свойствами
- Не может быть
abstract,open,sealedилиinner
Пример:
data class User(val name: String, val age: Int)
Автоматически генерируется:
val user1 = User("Alex", 25)
val user2 = user1.copy(age = 26) // копия с изменённым age
val (name, age) = user1 // деструктуризация
Используется для DTO, моделей данных и других случаев, когда важна структурная эквивалентность.