Reflection
Reflection (Reflexion) untersucht und manipuliert Typinformationen zur Laufzeit — Klassennamen, Felder, Methoden, Annotationen — ruft Methoden dynamisch auf und erzeugt Instanzen.
Zweck
Typintrospektion und dynamische Manipulation zur Laufzeit, als Grundlage für Frameworks und Serialisierung.
Mechanismus
Bezieht das Class-Objekt über die Reflection-API, enumeriert Felder/Methoden/Annotationen, ruft Methoden dynamisch auf, konstruiert Instanzen und greift auf Felder zu. Reflection in Java/C# ist mächtig, verursacht aber Performance-Overhead. Go nutzt Typzusicherungen auf Interfaces.
Anwendungsfälle
- Framework-Implementierung
- Serialisierung
- Abhängigkeitsinjektion