Ответ
componentN() — это оператор декомпозиции в Kotlin, позволяющий разложить объект данных (data class) на отдельные компоненты.
Пример:
data class User(val name: String, val age: Int)
fun main() {
val user = User("Alex", 30)
val (name, age) = user // component1() и component2() вызываются автоматически
println("$name, $age") // Alex, 30
}
Для data class компилятор генерирует component1(), component2() и т.д., соответствующие свойствам в порядке объявления. Можно использовать и вручную:
val name = user.component1()
val age = user.component2()
Применяется в деструктуризации, например, в циклах, лямбдах или при работе с Pair/Triple.