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