Resumen
Con frecuencia creamos clases cuyo propósito principal es mantener los datos. En una clase de este tipo, algunas funciones de funcionalidad y utilidad estándar a menudo se derivan mecánicamente de los datos. En Kotlin, esto se llama una data class y se marca como datos:
data class User(val name: String, val age: Int)
El compilador deriva automáticamente los siguientes miembros de todas las propiedades declaradas en el constructor primario:
equals()/hashCode()toString()de la forma"User(name=John, age=42)"componentN()functions correspondiente a las propiedades en su orden de declaración.copy()