Что такое Data Class

«Что такое Data Class» — вопрос из категории Kotlin, который задают на 44% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Data class — это специальный класс в Kotlin, предназначенный для хранения данных. Он автоматически генерирует полезные методы: equals(), hashCode(), toString(), copy() и componentN() функции (для деструктуризации).

Основные особенности:

  1. Объявляется с ключевым словом data
  2. Параметры в первичном конструкторе автоматически становятся свойствами
  3. Не может быть 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, моделей данных и других случаев, когда важна структурная эквивалентность.