Reflection
La reflexión inspecciona y manipula la información de tipos en tiempo de ejecución — nombres de clase, campos, métodos, anotaciones — invocando métodos dinámicamente y creando instancias.
Propósito
Introspección de tipos en tiempo de ejecución y manipulación dinámica, al servicio de los frameworks y la serialización.
Mecanismo
Obtiene el objeto Class mediante la API de reflexión, enumera campos/métodos/anotaciones, invoca métodos dinámicamente, construye instancias y accede a los campos. La reflexión de Java/C# es potente pero tiene sobrecoste de rendimiento. Go usa aserciones de tipo sobre interfaces.
Casos de uso
- Implementación de frameworks
- Serialización
- Inyección de dependencias