問題

問46 オブジェクト指向でシステムを開発する場合のカプセル化の効果はどれか。

ア オブジェクトの内部データ構造やメソッドの実装を変更しても、ほかのオブジェクトがその影響を受けにくい。
イ 既存の型に加えてユーザ定義型を追加できるので、問題領域に合わせてプログラムの仕様を拡張できる。
ウ 子クラスとして派生するので、親クラスの属性を子クラスが利用できる。
エ 同一メッセージを送っても、受け手のオブジェクトによって、それぞれが異なる動作をするので、メッセージを受け取るオブジェクトの種類が増えても、メッセージを送るオブジェクトには影響がない。

テクノロジ系>開発技術>システム開発技術>ソフトウエア方式設計・ソフトウエア詳細設計

解説と解答

 オブジェクト指向におけるカプセル化とは、関わりの強いデータと手続きを一体化してオブジェクトとしてまとめ、外部から直接扱えないように隠ぺいすることです。外部からは公開された手続きを利用しないとデータを操作できないため、個々のオブジェクトの独立性が高まり、オブジェクト内部の仕様変更が外部に影響しにくくなるという効果があります。

 それぞれの選択肢の記述を確認しましょう。

 選択肢アは、カプセル化に関する適切な記述です。

 選択肢イは、オブジェクト指向のプログラミング言語に関する説明です。カプセル化の説明としては適切ではありません

 選択肢ウは、継承の効果に関する記述です。

 選択肢エは、ポリモルフィズムの効果に関する記述です。

 以上より正解は、選択肢アです。

城田 比佐子、関谷 昌太
アイティ・アシスト インストラクタ
ITに関するコンサルティングや教育を実施するアイティ・アシストのインストラクタ。新入社員研修やプロマネ育成研修をはじめ、基本情報技術者試験、応用情報技術者試験、プロジェクトマネージャ試験などの試験対策研修の実績も豊富。著書に「3週間完全マスター 基本情報技術者 2010年版」などがある。