ToString()
is visible on and accessible via Object.
Providing an overridden implementation of a method and having it called when the object is accessed as its ancestor or a base class is a core requirement and benefit of polymorphism.
Specifying an override tells the object's metadata to remap calls to the ancestor's ToString()
method to the new one, even if that object is accessed as though it were its ancestor.