O polimorfismo pode ser estático ou dinâmico.
No estático, também conhecido como sobrecarga, utiliza-se nomes de métodos iguais e argumentos diferentes, bem como a decisão do método a ser chamado é tomada em tempo de compilação, de acordo com os argumentos que foram passados.
No dinâmico, também chamado de sobrescrita, utiliza-se nome e argumentos de métodos iguais e está associado ao conceito de herança. Neste tipo de polimorfismo, a decisão do método a ser chamado é tomada em tempo de execução, onde a subclasse redefine o método da superclasse.
Ademais, em linguagens como javascript e php, por exemplo, caso uma nova funcionalidade fosse criada ou modificada não seria necessário a aplicação ser compilada para que pudéssemos utilizar polimorfismo. Portanto, no meu entendimento, questão errada.