継承と委譲とは?
継承と委譲とは、既存クラスの機能を再利用する2つの手段。継承はサブクラスがスーパークラスの性質を引き継ぐ静的な関係(is-a)、委譲は他オブジェクトを保持して処理を任せる動的な関係(has-a)。設計では「継承より合成(コンポジション)を優先せよ」という指針が問われる。
けいしょうといじょう
継承と委譲の意味
既存クラスの機能を再利用する2つの手段。継承はサブクラスがスーパークラスの性質を引き継ぐ静的な関係(is-a)、委譲は他オブジェクトを保持して処理を任せる動的な関係(has-a)。設計では「継承より合成(コンポジション)を優先せよ」という指針が問われる。
継承と委譲の具体例
「正社員」「契約社員」が共通の給与計算をもつなら、共通部分を継承でまとめるより、給与計算方式を別クラスにして委譲したほうがよい。雇用区分が増えても計算クラスを差し替えるだけで済み、実行中に方式を切り替えることもできる。
継承と委譲は試験でどう引っ掛けられる?
継承をコード共有の道具として使うと、スーパークラスの変更がすべてのサブクラスへ波及し結合が強くなる(脆弱な基底クラス問題)。またis-aが成り立たないのに継承すると、置換可能性(リスコフの置換原則)を破る。
継承と委譲と関連する用語
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。