テクノロジ系16 / 30問
高度情報処理技術者試験・情報処理安全確保支援士試験 令和6年度 春期 午前I 問16
オブジェクト指向におけるクラス間の関係のうち、適切なものはどれか。
選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】イ
サブクラスは、スーパークラスから属性や操作を継承した上で、継承した操作の処理内容を目的に合わせて再定義できます。これをオーバーライドといいます。同じ操作の呼出しでも、実際のインスタンスのクラスに応じた処理を実行できるため、オーバーライドは多相性を実現する仕組みの一つです。したがって、イが適切です。
アの「関連は二つのクラス間でだけ定義できる」は誤りです。二つのクラスを結ぶ二項関連が一般的ですが、三つ以上のクラスが関係する多項関連も定義できます。
ウの「スーパークラスのインスタンスに操作を依頼する」は誤りです。サブクラスのインスタンス自身が、継承した操作を実行します。別に生成されたスーパークラスのインスタンスへ処理を委譲するわけではありません。操作がオーバーライドされていれば、通常はサブクラス側の処理が選択されます。
エの「属性及び操作を共有する」は誤りです。集約は、全体となるオブジェクトが部分となるオブジェクトを含む「全体・部分」の関係です。属性や操作の継承を表す関係は汎化です。なお、部分の生存期間が全体に強く依存する集約はコンポジションと呼ばれます。
【ポイント】 継承は「is-a」の関係、集約は「has-a」の関係として整理します。 継承した操作の再定義がオーバーライド、同名で引数が異なる操作の定義がオーバーロードです。
出典:令和6年度 春期 高度情報処理技術者試験・情報処理安全確保支援士試験 午前I 問16
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の30問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる