Binding is related to the object being accessed and when. Now object can be accessed at the compile as well as run time i.e. danamically. In late binding, no information about the object being accessed is availbale to the application. The info would be provided at run time i.e. dyanamically. However, in early binding the info about the object being accessed is available with the application. Hence early binding is considered to be faster. Reflection:- Java reflection is supports dynamic (run time) retrieval of information about classes and data structures by name, and allows for their manipulation within an executing Java program. This feature is extremely powerful and has no equivalent in other conventional languages such as C, C++, Fortran, or Pascal. More info on the sun site. JavaBeans relies heavily on the reflection API to give application builder tools the capability of assessing the exported properties of JavaBeans components.