この試験の対策ガイド

情報処理安全確保支援士試験 対策ガイド

合格率・勉強法・参考書の選び方をまとめています

見る →
答えと解説を見る(先に解くのがおすすめ)

正解は イ

解説

オブジェクト指向のクラス間関係でサブクラスとスーパークラスの関係(継承)において、サブクラスはスーパークラスから操作(メソッド)を継承しますが、それを「オーバーライド(override)」によって再定義できます。オーバーライドとは、スーパークラスで定義されたメソッドと同名・同シグネチャのメソッドをサブクラスで改めて実装することです。これにより多態性(ポリモーフィズム)が実現されます。選択肢bが正解です。

なぜ他の選択肢は違うのか

選択肢 ア
クラス間の関連は二つのクラス間だけでなく、三項関連(3クラス間の関連)なども定義できます。UMLでは多項関連もモデル化可能です。
選択肢 ウ
サブクラスのインスタンスがスーパークラスで定義された操作を実行するとき、スーパークラスのインスタンスに依頼する必要はありません。サブクラスは継承によって操作を持っており、直接実行できます(オーバーライドしていなければスーパークラスの実装を使う)。
選択肢 エ
集約(aggregation)の関係では、「全体」と「部分」の関係を表しますが、属性や操作を共有するものではありません。集約は has-a 関係の表現であり、継承(is-a関係)のような操作共有は行いません。

解くときのポイント

OOPの頻出概念:継承(is-a)=スーパー/サブクラス、集約(has-a)=全体/部分。オーバーライドは「サブクラスでスーパークラスの操作を再定義」=ポリモーフィズムの基盤。オーバーロードとの混同注意。