Dieser Artikel von Wikipedia ist u.U. veraltet. Die neue Version gibt es hier.
In der objektorientierten Programmierung (OOP) spricht man von Reflexion (engl. reflection ) wenn zur Laufzeit eines Programmes Informationen über Eigenschaften von Typen und Mitgliedern (engl. member ) gesammelt werden.
Ein Typ (engl. type ) ist dabei i. d. R. eine Klasse (engl. class ) die wiederum verschiedene Mitglieder (Attribute Eigenschaften Schnittstellen) besitzen die ihrerseits über Eigenschaften verfügen
Reflexion ermöglicht es nun zur Laufzeit über Klassen oder deren Instanzen abfragen zu können. Bei einer Methode sind das u. a. deren Sichtbarkeit Art des Rückgabewertes oder die Art der Übergabeparameter . Die Umsetzung ist dabei sprachspezifisch realisiert.
Hochsprachen wie Java (java.lang.reflect) oder die proprietäre Sprache C# (System.Reflection) des .NET -Frameworks bieten dazu entsprechende Pakete (engl. package ) bzw. Namensräume (engl. namespace ) an.