The ability to send the same message to various objects while each object is responsible for acting on the common message. Polymorphism allows a common interface to be created for objects sending messages. For example, sending the message "Draw" to both a box object and a circle object would be an example of polymorphism since the message that was sent to each object had the same name while each object contained its own Draw method. A Draw method would be defined in both the Box class and the Circle class and each may have similar or completely different behaviors. Polymorphism is supported by allowing the same method name to be defined within different classes.