Reflexão
A capacidade de um programa de inspecionar e manipular a própria estrutura em tempo de execução — listar classes, obter campos, chamar métodos pelo nome em forma de string.
É o coração dos ecossistemas Java e .NET (Spring, Jackson, ORMs, bibliotecas de mock). O equivalente em Python é getattr/setattr mais inspect. Linguagens compiladas estaticamente têm menos ou nenhuma: Rust tem std::any::Any e quase mais nada; Go tem reflect, que é desajeitado e lento.
O preço: é poderosa, mas destrói a segurança em tempo de compilação, dificulta o tree-shaking e atrapalha compiladores AOT (GraalVM, iOS). Tendência atual: trocar reflexão por geração de código (serde em Rust, records em Java, generics em Go) sempre que possível.