Ответ
Методы 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()