Qual é a diferença entre polimorfismo e tipagem de pato?

Estou um pouco confuso com os dois termos, aqui está o que eu sei:

Polimorfismo é a capacidade do objeto de diferentes tipos de ser manipulado por uma interface comum. Enquanto digitação de pato, é um tipo de digitação dinâmica que permite que objetos de diferentes tipos respondam aos mesmos métodos.

Pelo que entendi, o polimorfismo é mais sobre a criação de uma interface que pode ser compartilhada em diferentes classes. E a tipagem de pato é sobre digitação frouxa que permitirá que os métodos sejam chamados contanto que sejam encontrados no receptor da mensagem.

Isso está correto? Estou muito confuso sobre os dois, eles parecem relacionados, mas eu não sei qual é o relacionamento deles. Muito obrigado antecipadamente!

questionAnswers(4)

yourAnswerToTheQuestion