Reflexión (informática)

En informática, reflexión (o reflexión computacional) es la capacidad que tiene un programa para observar y opcionalmente modificar su estructura de alto nivel.

Es más común en lenguajes de programación de alto nivel ejecutándose sobre una máquina virtual, como Smalltalk o Java, y menos común en lenguajes como C. En un sentido más amplio, la reflexión es una actividad computacional que razona sobre su propia computación.

Cuando el código fuente de un programa se compila, normalmente se pierde la información sobre la estructura del programa conforme se genera el código de bajo nivel (normalmente lenguaje ensamblador).

Si un sistema permite reflexión, se preserva la estructura como metadatos en el código generado.

Algunas de estas características son las habilidades para: Abajo un ejemplo con PHP: