FUNDAMENTAL INFORMATION TECHNOLOGY ENGINEER
基本情報技術者の問題解説:オブジェクト指向プログラミングの「カプセル化」の説明はどれか…
問題
オブジェクト指向プログラミングの「カプセル化」の説明はどれか。
- ア データとそれを操作するメソッドをひとまとめにし、外部からの直接アクセスを制限すること(正解)
- イ 既存クラスの属性やメソッドを新しいクラスが受け継ぐこと
- ウ 同一のメッセージに対してオブジェクトごとに異なる動作をすること
- エ 実世界の事物をオブジェクトとしてモデル化すること
出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目A範囲
正解と解説
正解:データとそれを操作するメソッドをひとまとめにし、外部からの直接アクセスを制限すること
どんな論点か:カプセル化は、オブジェクトが持つデータと、そのデータを操作するメソッドをひとまとめにし、外部から内部データへ直接アクセスできないようにする考え方です。これにより、内部構造を隠して安全に利用できます。
ほかの選択肢:イは継承、ウはポリモーフィズム、エは抽象化・モデリングに近い説明です。カプセル化では「データを隠し、決められた操作だけを公開する」という情報隠蔽が重要だと覚えておくと迷いません。
軽い類題:銀行口座オブジェクトの残高を直接書き換えさせず、入金メソッドや出金メソッドを通して変更させる設計はカプセル化の例です。
他の選択肢はなぜ違う?
- イ属性やメソッドの受け継ぎは継承の説明。
- ウ同じメッセージで異なる動作はポリモーフィズム(多態性)。
- エ事物のモデル化はオブジェクト指向の一般的な考え方で、カプセル化そのものではない。
この問題について
IPAが公開するシラバス・試験範囲・公開問題の出題形式を参考にした独自作成問題。公式問題・過去問題の転載ではありません。
公式試験問題、過去問題、公式サンプル問題、市販教材の問題文を転載したものではありません。