Описание тега duck-typing
В Duck Typing методы и свойства объекта определяют его допустимую семантику, а не его принадлежность к определенному классу или его интерфейсу.
Странное название происходит от выражения "Если он ходит как утка и крякает, как утка, значит, это должна быть утка".