Отражение и интроспекция
Все эти средства позволяют программисту выполнять два важных действия, характерных для многих целевых языков. Это:
- интроспекция, которая позволяет программе проверять тип или свойства объекта во время выполнения;
- отражение, которое идет еще дальше и представляет собой способность программы манипулировать значениями, свойствами и/или функциями объекта во время выполнения.
Другими словами, Вам не нужно знать полное определение класса/объекта, чтобы манипулировать объектом, поскольку объект и/или его класс содержат метаданные, позволяющие распознавать его функции во время выполнения программы.