Polimorfismo significa muitas formas. No contexto da programação orientada a objetos, ele permite que objetos de subclasses diferentes respondam de maneiras distintas ao receberem a mesma mensagem, dependendo de seu tipo real no momento da execução. Isso permite que uma referência possa apontar para objetos de subclasses e tratar todos eles de forma uniforme.