SC情報処理安全確保支援士試験 午前Ⅰ

令和6年度春期 情報処理安全確保支援士 午前Ⅰ 問16

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

オブジェクト指向におけるクラス問の関係のうち、 適切なものはどれか。

選択肢

  1. ア
    クラス問の関連は、 二つのクラス問でだけ定義できる。
  2. イ
    サブクラスではスーパークラスの操作を再定義することができる。
  3. ウ
    サブクラスのインスタンスが、 スーパークラスで定義されている操作を実行するときは、 スーパークラスのインスタンスに操作を依頼する。
  4. エ
    二つのクラスに集約の関係があるときには、 集約オブジェクトは部分となるオブジェクトと、 属性及び操作を共有する。
解き方のヒントを見る

午前I 問16:オブジェクト指向の関係を見分けよう

オブジェクト指向の継承では、親クラスから受け継いだメソッドを、子クラス側で自分向けに作り直せるよ。これをオーバーライドというんだ。たとえば「乗り物」という親クラスにある「進む」という動きを、「車」なら走る、「船」なら水上を進む、という感じで子クラスごとに変えられるイメージだよ。

この問題で問われていること

この問題では、関連・集約・継承の違いを正しく見分けられるかがポイントだよ。ざっくり言うと、関連は「知り合い」、集約は「部品として持っている」、継承は「親子関係で性質を受け継ぐ」というイメージで整理しよう。

Override

subclass may override superclass operations

inherit\nredefine operation\n= override

確認ポイント

  • 関連は2クラス間だけに限定されない。
  • 集約で属性や操作を共有するわけではありません。
  • オーバーライド可能性を押さえる。
正解と解説を見る

正解

イ

出典

問題文と解答は IPA 公開の過去問題冊子・解答例を基にしています。

選択肢ア

これは間違いだよ。クラス同士の関連は、必ず2つだけに限られるわけではないんだ。たとえば「学生」は「学校」「先生」「クラブ」など複数の相手と関係を持てるよね。クラスの関連も同じで、1つのクラスが複数のクラスとつながることがあるよ。

選択肢イ(正解)

これは正解だよ。サブクラスは、親であるスーパークラスの機能を受け継ぎつつ、自分用に中身を作り直せるんだ。たとえば「乗り物」にある「走る」という動きを、「自転車」ならペダルで走る、「車」ならエンジンで走る、みたいに上書きできるイメージだよ。これをオーバーライドというよ。

選択肢ウ

これは間違いだよ。サブクラスのインスタンスは、スーパークラスから受け継いだ操作を“自分の機能”として実行できるんだ。たとえば、親から合鍵をもらった子どもが、自分で玄関を開けられる感じだよ。毎回、親本人を呼んで「開けて」と頼むわけではないよ。

選択肢エ

これは間違いだよ。集約は「全体と部品」の関係であって、部品と全体が同じ属性や操作を共有するわけではないんだ。たとえば「車」と「タイヤ」はセットだけど、車の色や走る機能をタイヤがそのまま共有するわけじゃないよね。集約は“持っている”関係で、“親子で機能を受け継ぐ”関係ではないよ。

出典:独立行政法人 情報処理推進機構(IPA)令和6年度春期 情報処理安全確保支援士試験 午前Ⅰ 問16(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針