Reflection
Reflection is an api used to examine or modify the behavior of methods, classes or interfaces at runtime.
Java Reflection API
Java Reflectionis aprocess of examining or modifying the run time behavior of a class at run time
In computer science, reflection is the ability of a computer program to examine, introspect, and modify its own structure and behavior at runtime
Reflection is the ability of classes and objects to examine their own constructors, fields, methods, and so on. It is used usually for backward compatibility, to check if a given method is available for a particular OS version.