O que polimorfismo resolve na prática
Pergunta
O que é polimorfismo e que problema concreto ele resolve — em vez de um `if/else` ou `switch` sobre o tipo?
Resposta esperada
Polimorfismo é chamar o mesmo método em objetos de tipos diferentes e cada um responder à sua maneira. Na prática, substitui um `switch (tipo)` espalhado pelo código: em vez de `if forma é círculo ... senão se é quadrado ...` em dez lugares, cada forma implementa `area()` e o chamador só faz `forma.area()`. O ganho é que adicionar um tipo novo não exige caçar e editar todos os switches (que é o OCP) — só criar a nova classe. O custo é indireção: pra um caso único e estável, o `switch` explícito pode ser mais legível.
Por que perguntam isso
Pergunta júnior/pleno. Resposta fraca recita 'muitas formas'. Resposta forte mostra o switch que o polimorfismo mata e conecta com OCP.