员（fields）和方法的合法性进行检查。反射技术则允许将对需要调用的物件的讯息检查工作从编译期间推迟到运行期间再现场执行。这样一来，可以在编译期间先不明确目标物件的介面（interface）名称、字段（fields），即物件的资料成员（成员变量）、可用方法，然后在运行根据目标物件自身的讯息决定如何处理。它还允许根据判断结果进行实例化新物件和相关方法的唿叫。反射主要用途就是使给定的程式，动态地适应不同的运行情况。利用物件导向建模中的多型（多态性）也可以简化编写分别适用于多种不同情形的功能代码，但是反射可