The term ‘duck typing’ is often used to describe a type of dynamic typing in programming languages where the object’s current set of methods and properties determines the valid semantics.
Why?
duck test — If it looks like a duck, swims like a duck and quacks like a duck, then it probably is a duck




[…] A programming language is dynamically typed if its type checking is performed at run-time. In dynamic typing, types are associated with values not variables, which means the set of methods and properties you can use on a variable is verified at runtime against the type of the value the variable currently holds (see duck typing). […]
[…] this code works so long as the ‘+’ operator is defined for the runtime types of obj1 and obj2, otherwise, you’ll get a RuntimeBinderException when this code is executed. This kind of type checking is often referred to as Duck typing. […]