type introspection
capability of some object-oriented programming languages to examine the type or properties of an object at runtime
reflective programming
ability of a process to examine, introspect and modify itself
capability of some object-oriented programming languages to examine the type or properties of an object at runtime