Для чего нужен метод componentN у data class

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

Ответ

Методы componentN() (например, component1(), component2()) автоматически генерируются для data class в Kotlin и позволяют деструктурировать объект на отдельные свойства. Это удобно при работе с кортежами или множественным присваиванием.

Пример:

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

fun main() {
    val user = User("Alex", 30)
    val (name, age) = user // деструктуризация
    println("$name, $age") // Alex, 30
}

Под капотом это работает так:

val name = user.component1()
val age = user.component2()