Making same named methods work differently for different type objects.
Generalization pattern
Encapsulation
Inheritance
Polymorphism
None of the above