Reflection
- Ability of running program to find out about its objects and
classes
- E.g., enumerating constructors and methods in IDEs
- Finding method names beginning with "test" (JUnit)
- Class object reveals
- superclass
- interfaces
- package
- names and types of fields
- names, parameter types, return types of methods
- parameter types of constructors