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