SC Workbook
科目 A-1 · 開発技術

ポリモーフィズム

オブジェクト指向における多態性(ポリモーフィズム)の説明はどれか。

  1. ア関連するデータとそれを操作する手続を一つのオブジェクトにまとめ,内部の詳細を外部から隠蔽する。
  2. イ上位クラスで定義された属性や操作を下位クラスが引き継ぎ,下位クラスでは差分だけを定義する。
  3. ウ複数のオブジェクトを部品として組み合わせ,全体と部分の関係によって一つのオブジェクトを構成する。
  4. エ同じメッセージを送っても,受け取ったオブジェクトのクラスに応じて異なる処理が実行される。
正解と解説を見る

正解 エ

この問題の基礎知識

  • オブジェクト指向の主な概念に,カプセル化,継承(インヘリタンス),多態性(ポリモーフィズム)がある。
  • カプセル化はデータと手続を一体化して内部の詳細を隠蔽すること,継承は上位クラスの属性や操作を下位クラスが引き継ぎ,差分だけを定義することである。
  • 多態性は,同じメッセージに対して受け手のクラスごとに異なる振る舞いをする性質であり,継承と下位クラスでの操作の再定義(オーバライド)によって実現されることが多い。
  • クラスやオブジェクトの関係には,is-a の関係である汎化と,part-of(全体と部分)の関係である集約がある。
ア関連するデータとそれを操作する手続を一つのオブジェクトにまとめ,内部の詳細を外部から隠蔽する。

データと手続を一体化し,内部構造を隠して公開した操作だけで利用させるのはカプセル化(情報隠蔽)の説明である。内部を変更しても利用者側への影響を抑えられる。

イ上位クラスで定義された属性や操作を下位クラスが引き継ぎ,下位クラスでは差分だけを定義する。

上位クラスの属性や操作を下位クラスが引き継ぐのは継承(インヘリタンス)の説明である。多態性は継承と組み合わせて実現されることが多いが,別の概念である。

ウ複数のオブジェクトを部品として組み合わせ,全体と部分の関係によって一つのオブジェクトを構成する。

部品となるオブジェクトを組み合わせて全体を構成する全体と部分(part-of)の関係は,集約の説明である。is-a の関係である汎化とも,多態性とも異なる。

エ同じメッセージを送っても,受け取ったオブジェクトのクラスに応じて異なる処理が実行される。正解

多態性は,同一のメッセージ(操作名)に対して,受け手のオブジェクトの属するクラスごとに異なる振る舞いをする性質である。呼出し側はクラスの違いを意識せずに統一的に扱える。

検証用の出典一部照合
IPA 応用情報技術者試験(レベル 4)シラバス / OMG Unified Modeling Language (UML) Version 2.5.1
照合の根拠(4 件)

UML 2.5.1 で,受け手のクラスに応じてメソッドが選ばれる仕組み(エ),継承(イ),全体と部分の関係(ウ)は裏付けられた。ただし UML 仕様は「多態性(polymorphism)」という用語でこの性質を名指ししておらず,カプセル化(ア:データと手続の一体化と情報隠蔽)を説明した読める一次資料も見つからなかった(www.gnu.org の GNU Smalltalk マニュアルは接続がリセットされ取得不可)。

問題 ID A1-DEV-0505 · AI 作成のオリジナル問題 · 正解の根拠は原文で確認済みですが、一部の選択肢の根拠は未確認です。 照合日 2026-11-07

非公式の学習用アプリです(IPA とは関係ありません)。問題はすべて AI が作成したオリジナルで、誤りを含む場合があります。