多相性とは
多相性とは、同じ呼び出し方でも、実際のオブジェクトの種類に応じて異なる処理が選ばれる性質です。

似た処理を種類ごとに条件分岐で書き続けると、新しい種類を追加するたびに修正箇所が増えます。共通の呼び出し方と、種類別の実装を分けます。
基本の仕組み

図形に面積を求める操作を定め、円と長方形で計算方法を実装すれば、利用側は同じ操作で面積を求められます。実際の図形の種類によって処理が変わるのが多相性です。
クラスは属性と操作を定義し、オブジェクトはその具体的な実体です。カプセル化は内部状態へのアクセスを管理し、継承は既存の定義を引き継ぎます。継承先で操作の実装を置き換えるのがオーバーライドです。
同じ名前でも引数が違うオーバーロードと、継承した操作を再定義するオーバーライドは別です。継承すれば常に良い設計になるわけではなく、親として扱ったときに約束した振る舞いを守れるかを確かめます。
オブジェクト指向の基本

クラス間の関係では、汎化と特化(is-a関係)と、集約(part-of関係)を区別します。「円は図形の一種」のように共通の性質を上位のスーパークラスにまとめるのが汎化、その逆に下位のサブクラスへ具体化するのが特化です。「エンジンは自動車の一部」のような全体と部分の関係が集約です。
委譲は、あるオブジェクトが受け取った処理の要求を、別のオブジェクトに任せて実行させる仕組みです。継承を使わずに機能を再利用する方法として使われます。
| 概念 | 意味 |
|---|---|
| カプセル化 | データと操作をまとめ、内部を隠す |
| 継承 | スーパークラスの性質をサブクラスが受け継ぐ |
| 多相性 | 同じ呼出しで、実際の種類に応じて実装が変わる |
| 汎化・特化(is-a) | 共通の性質を上位にまとめる・下位で具体化する |
| 集約(part-of) | 全体と部分の関係 |
| 委譲 | 処理の要求を別のオブジェクトに任せる |
試験に出る
- 多相性は、同じ呼び出しでも実際の種類に応じて処理が変わる性質である点。
- クラス(属性と操作の定義)とオブジェクト(その実体)の違い。
- カプセル化は内部状態へのアクセスを管理する考え方。
- オーバーロード(引数が違う同名の操作)とオーバーライド(継承先での再定義)の区別。
- 継承すれば常に良い設計になるわけではなく、親として扱ったときの振る舞いを守れるかを確かめる点。
- 汎化・特化(is-a関係)と集約(part-of関係)の区別。
重要な言葉
- 多相性
- 同じ呼び出しでも実際の種類に応じて処理が変わる性質。
- カプセル化
- 内部状態へのアクセスを管理する考え方。
- オーバーライド
- 継承先で親の操作の実装を置き換えること。
- オーバーロード
- 同じ名前で引数の異なる操作を定義すること。
- 汎化
- 複数のクラスに共通する性質を上位のクラスにまとめること(is-a関係)。
確認問題
確かめよう利用側が円か長方形かを毎回判定しなくても面積操作を呼べる性質は?
多相性です。
多相性とは、同じ呼び出し方でも実際の種類に応じて処理が変わる性質である。
オーバーロードとオーバーライドは同じ意味である。
継承先で親の操作の実装を置き換えることを何といいますか。
利用側が種類を判定しなくても同じ操作を呼べる性質は?
似た処理を種類ごとに条件分岐で書き続けると、新しい種類を追加するたびに修正箇所が増えます。共通の呼び出し方と、種類別のを分けます。
図形に面積を求める操作を定め、円と長方形で計算方法を実装すれば、利用側は同じ操作で面積を求められます。実際の図形の種類によって処理が変わるのがです。
は属性と操作を定義し、はその具体的な実体です。カプセル化は内部状態へのアクセスを管理し、継承は既存の定義を引き継ぎます。継承先で操作の実装を置き換えるのがオーバーライドです。
同じ名前でも引数が違うと、継承した操作を再定義するは別です。継承すれば常に良い設計になるわけではなく、親として扱ったときに約束した振る舞いを守れるかを確かめます。
出典・参考資料
試験の公式案内と、この記事の参考にした学習資料です。
- IPA:基本情報技術者試験 ↗
- IPA:現行制度の公開問題 ↗
- IPA:試験要綱・シラバス ↗
- IPA:基本情報技術者試験シラバス Ver.9.2(2026年1月) ↗
- Scrum Guides:The Scrum Guide(2020) ↗
編集:Pinternet Works · 更新日:
教材の編集方針・訂正について
