Что такое data class в Kotlin

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

Ответ

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

Пример:

data class User(val name: String, val age: Int)

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

  • Параметры в конструкторе должны быть val/var.
  • Можно копировать с изменением полей: user.copy(age = 30).
  • Не подходит для сложной логики (лучше использовать обычный class).

Ограничения:

  • Нельзя наследоваться от data class (но можно от интерфейсов).
  • Нельзя сделать abstract, open, sealed или inner.