Constructing an object of a class that implements an interface whose nature is not known at compile time.