ポリモーフィズムとは、日本語で「多態性(たたいせい)」や「多様性」と呼ばれるオブジェクト指向プログラミングの重要な概念です。これは、異なる種類のオブジェクトに対して同じ名前の命令(メソッド)を送ったとしても、それぞれのオブジェクトが自身の特性に合わせて、異なる動作を行うことができる仕組みを指します。呼び出し側のプログラムは、相手が誰であるかを詳しく知らなくても、共通のインターフェースを通じて同じ方法で命令を送るだけで済むため、プログラム全体の記述が非常にシンプルになり、将来の拡張も容易になります。
「鳴く」という命令を、犬、猫、カラスという異なるオブジェクトに対して送る場面です。それぞれのオブジェクトが同じ「鳴く」という名前のメソッドを実行しますが、犬は「ワン」、猫は「ニャー」、カラスは「カー」とそれぞれ異なる結果を返します。呼び出し側は「動物たちに鳴いてもらう」という一つのルールだけで指示を出せます。