平成21年度 秋期 基本情報技術者試験 午前 問46
テクノロジ/開発技術オブジェクト指向でシステムを開発する場合のカプセル化の効果はどれか。
出典:平成21年度 秋期 基本情報技術者試験 午前 問46
- アオブジェクトの内部データ構造やメソッドの実装を変更しても,ほかのオブジェクトがその影響を受けにくい。
- イ既存の型に加えてユーザ定義型を追加できるので,問題領域に合わせてプログラムの仕様を拡張できる。
- ウ子クラスとして派生するので,親クラスの属性を子クラスが利用できる。
- エ同一メッセージを送っても,受け手のオブジェクトによって,それぞれが異なる動作をするので,メッセージを受け取るオブジェクトの種類が増えても,メッセージを送るオブジェクトには影響がない。
正解:ア
解説
カプセル化は,オブジェクトの内部データ構造やメソッドの実装を外部から隠ぺいし,公開されたインタフェース(メソッド)だけを通じて操作させる仕組みです。これにより,内部実装を変更しても,外部(他のオブジェクト)への影響を抑えることができます。
選択肢ごとの解説
- ア正しい。内部データ構造やメソッドの実装を変更しても他のオブジェクトへの影響を受けにくくすることが,カプセル化の効果です。
- イ誤り。ユーザ定義型を追加して仕様を拡張できるのは,型の拡張性に関する特徴で,継承などと関連する内容です。
- ウ誤り。親クラスの属性を子クラスが利用できるのは継承の効果です。
- エ誤り。同一メッセージでも受け手ごとに異なる動作をするのはポリモーフィズム(多相性)の効果です。