Описание тега introspection

Способность некоторых объектно-ориентированных языков программирования определять тип объекта во время выполнения.

Некоторые языки ООП, обеспечивающие способность к самоанализу типов: Ruby, Objective-C, C++, Java, PHP, Perl, Python, Object Pascal, Actionscript (as3)

Самоанализ выполняется по-разному, в зависимости от формы программы: проверка исходного кода или скомпилированного байт-кода называется интроспекцией во время компиляции, а проверка свойств выполняемого кода - интроспекцией во время выполнения.

Например, Java поддерживает оба типа интроспекции: пользователи интроспекции во время выполнения обычно выполняют ее посредством отражения, тогда как интроспекция во время компиляции может быть реализована с помощью инструментов манипулирования байт-кодом или обработки аннотаций.

http://en.wikipedia.org/wiki/Type_introspection