RE:Polimorfismo es lo mismo que sobrescritura ?
Hola:
Sobrecarga de metodos es poner el mismo nombre de metodo, pero con parametros distintos (distinto tipo o distinto numero de parámetros o ambas cosas a la vez)
Sobreescribir un metodo es cuando una clase hija define exactamente el mismo metodo que la clase padre.
Polimorfismo es cuando se mete una clase hija en un sitio que admite una clase padre y llamando a un metodo de la clase padre, en realidad se ejecuta el de la clase hija. Por ejemplo, imagina ClasePadre y una ClaseHija que hereda de ella. Ambas tienen metodo() (La ClaseHija lo sobreescribe). Si haces esto
ClasePadre a = new ClaseHija();
a.metodo();
se ejecuta el metodo() de ClaseHija, a pesar de que el tipo de a es ClasePadre. Esto es el polimorfismo, ejecutar un metodo() de ClaseHija cuando tu codigo "piensa" que tiene una ClasePadre.
Esto último, como comenta vigilanteIBM, permite que un codigo que trata con ClasePadre pueda ser usado sin modificaciones para varias ClaseHIja distintas.
Se bueno.