[ri'flekʃ(ə)n]
общая лексика
отражение
отсвет
размышление
симметрия
физиология
рефлексия
медицина
отражение (от чего-л.)
сейсмология
отражённая волна
существительное
общая лексика
отражение
изображение
отблеск
отсвет
точная копия
размышление
раздумье
мысли
соображения
замечания
порицание
осуждение
тень
пятно
радужность
переливчатость
отражение, образ
размышление, обдумывание
тень, пятно
физиология
рефлексия
редкое выражение
отгибание
Отражение (рефлексия; холоним интроспекции, англ. reflection) — процесс, во время которого программа может отслеживать и модифицировать собственную структуру и поведение во время выполнения. Парадигма программирования, положенная в основу отражения, является одной из форм метапрограммирования и называется рефлексивным программированием.
Во время выполнения программных инструкций (кода) компьютеры обрабатывают данные, что приводит к их изменению, при этом компьютеры не изменяют код. Однако, в большинстве современных компьютерных архитектур код хранится как данные, и в некоторых языках программирования реализована возможность обрабатывать собственный код как данные, что приводит к изменению уже самого кода во время его выполнения. Такие самоизменяющиеся программы в основном создаются с помощью высокоуровневых языков программирования, использующих виртуальные машины (например, Smalltalk, скриптовые языки). В меньшей степени рефлексия используется в языках с объявляемыми или статическими типами (например, Си, ML, Haskell, F#).
Понятие рефлексии в языках программирования введено Брайаном Смитом (Brian Cantwell Smith) в докторской диссертации 1982 года наряду с понятием метациркулярного вычислителя (англ. Meta-circular evaluator) как компонента 3-Lisp.