Sobes.tech
Back to questions
Junior — Middle
73

Объясните концепцию data class в Kotlin и чем она отличается от обычных классов.

Companies where asked
Т-БанкТ-Банк

Answer from AI

sobes.tech AI

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

Отличия от обычных классов:

  • Автоматическая генерация методов для сравнения и копирования.
  • Упрощённый синтаксис для создания классов, которые в основном содержат данные.

Пример data class:

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

fun main() {
    val user1 = User("Иван", 30)
    val user2 = user1.copy(age = 31)
    println(user1) // User(name=Иван, age=30)
    println(user2) // User(name=Иван, age=31)
}

Таким образом, data class удобен для моделей данных, где важна простота и корректное сравнение объектов.