Ответ
Data class в Kotlin — это класс, предназначенный исключительно для хранения данных. Автоматически генерирует полезные методы: equals(), hashCode(), toString(), copy() и componentN() функции (для деструктуризации).
Пример:
data class User(val name: String, val age: Int)
Ключевые особенности:
- Параметры в первичном конструкторе должны быть объявлены как
val/var - Не может быть
abstract,open,sealedилиinner - Можно наследоваться только от других классов (не от интерфейсов)
- Автоматически реализует принципы value-объектов (сравнение по содержимому)
Оптимально использовать для DTO, моделей ответа API, сущностей БД и других случаев, где важна структура данных, а не поведение.