Dans ce cours, nous abordons la redéfinition de méthodes en Java : comment et pourquoi une sous-classe remplace le comportement de la classe parente, l’utilité de l’annotation
@Override, comment fonctionne le polymorphisme lors des appels via une référence de type de base, ainsi que les règles clés (signature, modificateurs d’accès, exceptions, covariance) et les restrictions (
static,
final,
private). Nous terminons par de la pratique sur un mini‑projet « Zoo » et une revue des erreurs typiques.