Лекция №4. Reflection.
Рефлексия - один из подвидов мета-программирования - создание программ, которые в процессе своего выполнения порождают другие программы. В данном случае, какая-то часть (ну или вся) программы проектируется так, чтобы программа сама создавала во время выполнения некоторую логику, которую при "обычном" подходе создает программист. Для чего? Все очень просто - иногда некоторые данные, которые жизненно необходимы для создания алгоритма, недоступны на этапе разработки программы. Например: известно, что нужно будет вызывать определенные методы объекта, но какие именно - будет понятно только во время выполнения. Вот здесь на помощь приходит рефлексия.