> I would say the defining property of OO, is polymorphism.
Make it dynamic polymorphism, and I agree.
Make it dynamic polymorphism, and I agree.
http://en.wikipedia.org/wiki/Subtype_polymorphism
http://en.wikipedia.org/wiki/Dynamic_dispatch
Polymorphism is a feature of the type system, and thus inherently static. Dynamic dispatch is something you often wind up with as a consequence of subtyping, but neither requires the other, strictly speaking.