SC情報処理安全確保支援士試験 午前Ⅰ
令和6年度春期 情報処理安全確保支援士 午前Ⅰ 問16
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- アクラス問の関連は、 二つのクラス問でだけ定義できる。
- イサブクラスではスーパークラスの操作を再定義することができる。
- ウサブクラスのインスタンスが、 スーパークラスで定義されている操作を実行するときは、 スーパークラスのインスタンスに操作を依頼する。
- エ二つのクラスに集約の関係があるときには、 集約オブジェクトは部分となるオブジェクトと、 属性及び操作を共有する。
解き方のヒントを見る
午前I 問16:オブジェクト指向の関係を見分けよう
オブジェクト指向の継承では、親クラスから受け継いだメソッドを、子クラス側で自分向けに作り直せるよ。これをオーバーライドというんだ。たとえば「乗り物」という親クラスにある「進む」という動きを、「車」なら走る、「船」なら水上を進む、という感じで子クラスごとに変えられるイメージだよ。
この問題で問われていること
この問題では、関連・集約・継承の違いを正しく見分けられるかがポイントだよ。ざっくり言うと、関連は「知り合い」、集約は「部品として持っている」、継承は「親子関係で性質を受け継ぐ」というイメージで整理しよう。
Override
subclass may override superclass operations
inherit\nredefine operation\n= override
確認ポイント
- 関連は2クラス間だけに限定されない。
- 集約で属性や操作を共有するわけではありません。
- オーバーライド可能性を押さえる。
正解と解説を見る
正解
イ
出典
問題文と解答は IPA 公開の過去問題冊子・解答例を基にしています。
選択肢ア
これは間違いだよ。クラス同士の関連は、必ず2つだけに限られるわけではないんだ。たとえば「学生」は「学校」「先生」「クラブ」など複数の相手と関係を持てるよね。クラスの関連も同じで、1つのクラスが複数のクラスとつながることがあるよ。
選択肢イ(正解)
これは正解だよ。サブクラスは、親であるスーパークラスの機能を受け継ぎつつ、自分用に中身を作り直せるんだ。たとえば「乗り物」にある「走る」という動きを、「自転車」ならペダルで走る、「車」ならエンジンで走る、みたいに上書きできるイメージだよ。これをオーバーライドというよ。
選択肢ウ
これは間違いだよ。サブクラスのインスタンスは、スーパークラスから受け継いだ操作を“自分の機能”として実行できるんだ。たとえば、親から合鍵をもらった子どもが、自分で玄関を開けられる感じだよ。毎回、親本人を呼んで「開けて」と頼むわけではないよ。
選択肢エ
これは間違いだよ。集約は「全体と部品」の関係であって、部品と全体が同じ属性や操作を共有するわけではないんだ。たとえば「車」と「タイヤ」はセットだけど、車の色や走る機能をタイヤがそのまま共有するわけじゃないよね。集約は“持っている”関係で、“親子で機能を受け継ぐ”関係ではないよ。
出典:独立行政法人 情報処理推進機構(IPA)令和6年度春期 情報処理安全確保支援士試験 午前Ⅰ 問16(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針