Duck typing is a principle where an object's suitability is determined by what methods it responds to, not its class or type — "if it walks like a duck and quacks like a duck, it's a duck." In Ruby, you care that an object can do something (has the method), not what type it is. This enables flexible, polymorphic code without inheritance or interfaces.
The principle: behavior over type
()
duck.quack
=
=
make_it_quack(.new)
make_it_quack(.new)
