No paradigma da Programação Orientada a Objetos, o conceito que permite que uma referência de uma superclasse invoque métodos sobrescritos em subclasses, apresentando comportamentos diferentes, conforme o objeto instanciado, é denominado: