Reflection allows you to inspect classes, methods, and fields at runtime.
Java's Reflection API provides the ability to examine or modify the runtime behavior of applications. It allows you to access information about classes and their members, such as fields and methods, without knowing their names at compile time. This is useful for building frameworks that need to operate on classes dynamically, such as a mini-framework that maps database fields to Java objects.
Additional Notes
How does Java’s Reflection API enable dynamic inspection of classes?