ポリモーフィズムについても、理解を深めるために色々なQ and Aを考えてみましょう。
poly-morphism
質問:「ポリモーフィズム」って聞き慣れない言葉だけどどういう意味?
解答:「ポリ」な「モーフィズム」、「多くの」「変化」という意味です。
「ポリモーフィズム」という単語は「ポリ」と「モーフィズム」に分けられます。
まず「ポリ」について見てみましょう。
これは英語で「poly」と書きます。
意味は「多」、つまり「多くの」という意味です。英単語の前に付けることで「多くの○○」という意味になります。
一般的に使われている例として、ゲームに出てくる「ポリゴン」があります。「ゴン」には「○角形」という意味があり、五角形が「ペンタゴン」、八角形が「オクタゴン」、そして多角形が「ポリゴン」となります。
また、「ポリエチレン」の「ポリ」もこの意味です。「ポリエチレン」は「エチレン」という物質が複数組み合わさって作られたものです。このように化学物質の名前によく使われていて、そういう意味では「ポリ袋」の「ポリ」も同じです。
次に「モーフィズム」に見てみましょう。
これは英語で「morphism」と書きます。
意味は「変形」「変化」「変態」、つまり「形を変えること」という意味です。
一般的に使われている例に「モーフィング」という技術があります。これは2つの絵から「中間の絵」を作り出して、絵を変化させるアニメーションを作る技術です。
この2つを組み合わせて、「ポリ-モーフィズム」となります。
日本語では「多態性」(たたいせい)、もしくは「多相性」(たそうせい)と訳されています。
前の章で説明したとおり、ポリモーフィズムは「同じメソッドを呼び出しているのにインスタンスによって結果が変わる」というものです。
これはつまり、一見スーパークラスを使っているように見えて、実際には違うクラスを使っていた、つまり「姿を変えていた」ということになるわけで、これが「ポリモーフィズム」という名前の理由となっているわけです。