L’héritage permet la définition de classes comme des extensions d’autres classes. Lorsqu’une classe
hérite d’une autre classe, cela signifie qu’elle incorpore le fonctionnement interne de la classe dont elle
hérite.
À partir du moment où des variables peuvent être polymorphes, il est nécessaire de disposer d’un outil qui permet de forcer la reconnaissance d’un objet comme un sous-type précis alors qu’il est perçu comme un super-type par le formalisme du code.
Opérer un transtypage, c’est bien. Mais parfois on ignore jusqu’au moment de l’exécution le type effectif de l’objet concerné.
Java offre deux moyens pour obtenir une indication sur le type effectif de l’objet :