This simplifies program design and the way in which
clients request operations to be performed, requiring fewer
conditional and switch statements. This eliminates the
need to figure out which operation is to be performed
depending on the type of object being used, significantly
simplifying the problem.
Hiding alternative procedures behind a common
interface is called polymorphism. Polymorphism is one of
the most powerful features of OOP.