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

平成24年度秋期 情報処理安全確保支援士 午前Ⅱ 問22

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

問題

オブジェクト指向における情報隠蔽に関する記述として、 適切なものはどれか。

選択肢

  1. ア
    オブジェクトの特性 (属性、 関連、 操作) をまとめて抽象化する。
  2. イ
    オブジェクトは、 メッセージによってだけアクセス可能となる。
  3. ウ
    親クラスに定義されたメソッドを、 実行時に子クラスに引き継ぐ。
  4. エ
    同一メッセージでも、 実行時の受信クラスに基づいて適用されるメソッドが決まる。
解き方のヒントを見る

午前II 問22:中身を勝手に触らせない「情報隠蔽」の考え方だよ

オブジェクト指向の情報隠蔽は、オブジェクトの中身、つまり内部状態を外から直接いじらせない考え方だよ。たとえば、自動販売機の中の機械を直接触るのではなく、ボタンを押してジュースを買うようなイメージ。外部からは、公開された操作やメッセージを通じてだけアクセスするようにするんだ。

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

この問題では、抽象化・継承・ポリモーフィズムとごちゃ混ぜにせず、「カプセル化・情報隠蔽とは、内部のデータや仕組みを隠して、決められた操作だけで使わせること」と理解できているかが問われているよ。

情報隠蔽の考え方

内部データ構造を隠し、外部には必要な操作だけを公開することで、変更影響を抑え安全性も高めやすくする。

内部状態は隠す\n公開操作だけで利用\n-> 情報隠蔽

確認ポイント

  • 特性をまとめるのは抽象化です。
  • 受信クラスで適用メソッドが変わるのは多相性です。
  • メッセージ経由でだけアクセスする説明を選ぶ。
正解と解説を見る

正解

イ

出典

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

選択肢ア

これは不正解だよ。属性や操作などをまとめて一つのものとして考えるのは、クラスやオブジェクトとしての「抽象化」に近い説明だね。たとえば車を、エンジンやタイヤの細部ではなく「走るもの」としてまとめて見る感じ。情報隠蔽は、その中身を勝手に触らせないことがポイントだよ。

選択肢イ(正解)

これが正解だよ。情報隠蔽は、オブジェクトの中身を直接いじらせず、決められたメッセージやメソッドを通してだけ操作させる考え方なんだ。たとえば銀行で金庫を直接開けるのではなく、窓口で「引き出したいです」と頼む感じだよ。中の仕組みを隠すことで、安全で変更にも強くなるんだ。

選択肢ウ

これは不正解だよ。親クラスの性質を子クラスが受け継ぐ話なので、情報隠蔽ではなく「継承」の説明だね。たとえば、親から料理のレシピを受け継ぐようなもの。中身を隠して窓口だけ使わせる、という話とは少し違うよ。

選択肢エ

これは不正解だよ。同じメッセージでも、相手のクラスによって実行される処理が変わるのは「ポリモーフィズム」の説明だね。たとえば「鳴いて」と言うと、犬ならワン、猫ならニャーと反応が変わる感じ。この説明自体はオブジェクト指向として正しいけれど、この問題で聞いている情報隠蔽の説明ではないよ。

出典:独立行政法人 情報処理推進機構(IPA)平成24年度秋期 情報処理安全確保支援士試験 午前Ⅱ 問22(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

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