ホーム > システムアーキテクト試験 > 2010年
システムアーキテクト試験 2010年 午前2 問06
オブジェクト指向の概念で、上位のクラスのデータやメソッドを下位のクラスで利用できる性質を何というか。
イ:カプセル化
ウ:多相性
エ:抽象化
ア:インヘリタンス(正解)
解説
オブジェクト指向の継承の概念とは【午前2 解説】
要点まとめ
- 結論:上位クラスのデータやメソッドを下位クラスで利用できる性質はインヘリタンス(継承)です。
- 根拠:継承はオブジェクト指向の基本概念で、コードの再利用性と拡張性を高めます。
- 差がつくポイント:継承と混同しやすいカプセル化や多相性との違いを正確に理解することが重要です。
正解の理由
「インヘリタンス(継承)」は、上位クラス(親クラス)の属性やメソッドを下位クラス(子クラス)が引き継ぎ、再利用や拡張を可能にするオブジェクト指向の基本的な性質です。これにより、コードの重複を減らし、保守性を向上させます。問題文の「上位のクラスのデータやメソッドを下位のクラスで利用できる性質」に最も合致するのはインヘリタンスです。
よくある誤解
カプセル化はデータの隠蔽、多相性は同じ操作で異なる動作を実現する性質であり、継承とは異なります。これらを混同しやすい点に注意が必要です。
解法ステップ
- 問題文の「上位クラスのデータやメソッドを下位クラスで利用できる性質」を確認する。
- オブジェクト指向の4大概念(継承、カプセル化、多相性、抽象化)を思い出す。
- 各概念の定義と問題文の内容を照らし合わせる。
- 「データやメソッドの利用=引き継ぎ」が継承であると判断する。
- 選択肢の中から「インヘリタンス」を選ぶ。
選択肢別の誤答解説
- ア: インヘリタンス
正解。上位クラスの属性やメソッドを下位クラスが引き継ぐ性質。 - イ: カプセル化
データやメソッドをひとまとめにし、外部からの不正アクセスを防ぐ技術であり、継承とは異なる。 - ウ: 多相性
同じ操作で異なる型のオブジェクトが異なる動作をする性質。継承の応用であるが、直接の意味は異なる。 - エ: 抽象化
複雑な実装の詳細を隠し、必要な部分だけを取り出す概念。継承とは別の概念。
補足コラム
インヘリタンスは単一継承だけでなく、多重継承やインターフェースによる実装継承など多様な形態があります。これにより柔軟な設計が可能ですが、過度な継承は設計の複雑化を招くため注意が必要です。
FAQ
Q: インヘリタンスと多相性はどう違いますか?
A: インヘリタンスは親クラスの機能を子クラスが引き継ぐこと、多相性は同じメソッド名で異なる動作を実現する性質です。
A: インヘリタンスは親クラスの機能を子クラスが引き継ぐこと、多相性は同じメソッド名で異なる動作を実現する性質です。
Q: カプセル化はなぜ重要ですか?
A: データの不正な変更を防ぎ、プログラムの安全性と保守性を高めるため重要です。
A: データの不正な変更を防ぎ、プログラムの安全性と保守性を高めるため重要です。
関連キーワード: オブジェクト指向, 継承, インヘリタンス, カプセル化, 多相性, 抽象化, クラス, メソッド, 再利用性