第1種情報処理技術者試験 2000年度 = 平成12年度 午前 問62

 オブジェクト指向でシステムを開発する場合、カプセル化の効果として適切なものはどれか。

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

解答



解説

 カプセル化は、データとメソッドを一つにまとめ、オブジェクトの実装の詳細をユーザから見えなくするための基本的な手法です。

 オブジェクトの内部データ構造やメソッドの実装を変更しても、その影響をほかのオブジェクトに及ぼしにくくなるのは、カプセル化のメリットです。

 親クラスの属性を子クラスが利用できるので、親クラスの属性を子クラスの属性の定義に利用できるのは、継承(インヘリタンス)の性質です。

 既存の型に加えてユーザ定義型を追加できるので、問題領域に合わせてプログラムの仕様を拡張できるのは、オブジェクト指向プログラミングの基本的な性質です。

 同一メッセージを各オブジェクトに送っても、オブジェクトによって動作が異なるので、メッセージを受け取るオブジェクトの種類が増えても、メッセージを送るオブジェクトには影響がないのは、多態(ポリモーフィズム)の性質です。


BohYoh.comトップページへ