ポリモーフィズムとは?
ポリモーフィズムとは、多相性・多態性。同じメッセージ(メソッド呼出し)に対して、受け取るオブジェクトの実際の型に応じて異なる動作をする性質。呼ぶ側は相手の具体的な型を知らなくてよいため、種類が増えても呼出し側を修正せずに済む。
基本情報技術者試験の過去問では2回出題されています(2017年度〜2025年度)。
ぽりもーふぃずむ
ポリモーフィズムの意味
多相性・多態性。同じメッセージ(メソッド呼出し)に対して、受け取るオブジェクトの実際の型に応じて異なる動作をする性質。呼ぶ側は相手の具体的な型を知らなくてよいため、種類が増えても呼出し側を修正せずに済む。
ポリモーフィズムの具体例
図形の配列に円と長方形を混在させ、順に「面積を求めよ」と呼び出すと、それぞれのクラスで定義された計算が実行される。三角形クラスを後から追加しても、呼出し側のループは書き換え不要。
ポリモーフィズムは試験でどう引っ掛けられる?
実行時に実際の型で動作が決まる点が要点で、呼出し側のコード上の型で決まるわけではない。またオーバーロード(引数の違いによる使い分け)とは別の仕組みであることに注意。
ポリモーフィズムと関連する用語
ポリモーフィズムが出た過去問
オブジェクト指向プログラミングにおける、多相性を実現するためのオーバーライドの説明はどれか。
正解:スーパークラスで定義されたメソッドをサブクラスで再定義すること
要点:オーバーライドはスーパークラスのメソッドをサブクラスで再定義
オーバーライドは、スーパークラスで定義済みのメソッドを、同じ名前・同じ引数のままサブクラス側で定義し直すことをいう。これにより同じメソッド呼出しでも実際のオブジェクトの型に応じて振る舞いが変わり、多相性(ポリモーフィズム)が実現される。引数違いで同名メソッドを並べるオーバーロードとの区別が頻出である。
出典:平成29年度 秋期 基本情報技術者試験 午前 問7(IPA)オブジェクト指向プログラミングの特徴のうち,異なるクラスのオブジェクトを同一のインタフェースで操作したときに,操作対象クラスに応じた異なる動作を可能にすることを…
正解:多相性
要点:多相性は同じ呼出しでクラスごとに動作が変わる性質
多相性(ポリモーフィズム)は、同じメッセージや同じインタフェースで呼び出しても、実際のオブジェクトのクラスに応じて異なる処理が実行される性質である。呼び出す側は相手の具体的な型を意識せずに済むため、拡張性の高い設計ができる。継承や委譲、コンポジションは関係の作り方に関する概念であり、この性質そのものではない。
出典:令和7年度 (公開問題) 基本情報技術者試験 kamokuA 問12(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。