How could you retrieve information about a class, as well as create an instance at runtime?
abstraction
dependency injection Official documentation: Reflection
serialization
reflection