Reflection
La réflexion inspecte et manipule les informations de type à l’exécution — noms de classes, champs, méthodes, annotations — en invoquant dynamiquement des méthodes et en créant des instances.
Objectif
Introspection des types à l’exécution et manipulation dynamique, au service des frameworks et de la sérialisation.
Mécanisme
Obtient l’objet Class via l’API de réflexion, énumère les champs/méthodes/annotations, invoque des méthodes dynamiquement, construit des instances et accède aux champs. La réflexion Java/C# est puissante mais entraîne un surcoût de performance. Go utilise des assertions de type sur les interfaces.
Cas d’usage
- Implémentation de frameworks
- Sérialisation
- Injection de dépendances