Sobes.tech
Junior — Middle

¿Cómo se realiza el trabajo con la reflexión en Kotlin?

sobes.tech AI

Respuesta de la IA

En Kotlin, el trabajo con reflexión se realiza mediante el paquete kotlin.reflect. La clase principal es KClass, que representa una clase en tiempo de ejecución. A través de la reflexión, se puede obtener información sobre propiedades, funciones, constructores y anotaciones de las clases.

Ejemplo de cómo obtener el nombre de la clase y la lista de sus propiedades:

import kotlin.reflect.full.memberProperties

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

fun main() {
    val kClass = User::class
    println("Nombre de la clase: ${kClass.simpleName}")
    for (prop in kClass.memberProperties) {
        println("Propiedad: ${prop.name}")
    }
}

También se pueden invocar funciones y crear instancias mediante reflexión, pero para ello a veces es necesario usar Java Reflection API (java.lang.reflect).

La reflexión es útil para análisis dinámico y trabajo con objetos, por ejemplo, en serialización, DI o al escribir frameworks.