Eu sou um grande fã de verificação de tipo estático. Impede que você cometa erros estúpidos como este: // java code Adult a = new Adult(); a.setAge("Roger"); //static type checker would complain a.setName(42); //and here too Mas isso não impede que você cometa erros estúpidos como este: Adult a...