平成21年度 秋期 午前 問46
システム開発技術
カプセル化の効果
オブジェクト指向でシステムを開発する場合のカプセル化の効果はどれか。
- アオブジェクトの内部データ構造やメソッドの実装を変更しても,ほかのオブジェクトがその影響を受けにくい。
- イ既存の型に加えてユーザ定義型を追加できるので,問題領域に合わせてプログラムの仕様を拡張できる。
- ウ子クラスとして派生するので,親クラスの属性を子クラスが利用できる。
- エ同一メッセージを送っても,受け手のオブジェクトによって,それぞれが異なる動作をするので,メッセージを受け取るオブジェクトの種類が増えても,メッセージを送るオブジェクトには影響がない。
答えと解説を見る
✓ これが正解アオブジェクトの内部データ構造やメソッドの実装を変更しても,ほかのオブジェクトがその影響を受けにくい。
解説
中を隠すので変更が外へ波及しません。
四つの記述は、どれもオブジェクト指向の説明として正しく書かれています。ですから正誤ではなく、どの考え方を述べたものかを当てる問いになります。軸は、何を変えたときの話をしているのかという一点です。カプセル化は、データと、それを扱う手続きをひとつの箱にまとめ、外から触れてよい入り口だけを残して中身を隠す考え方です。外の側は入り口の形だけを頼りに使うので、中身を作り替えても入り口さえ変わらなければ外は壊れません。自動販売機にたとえると、買い方が同じであれば、中の装置を入れ替えても利用者は困らない、という関係にあたります。
ほかの選択肢はなぜ違うのか
- イ既存の型に加えてユーザ定義型を追加できる…:問題の領域に合わせて新しい型を用意できるという、型を作る仕組みそのものの説明です。手を入れた影響が外へ広がらない理由を述べたものではありません。
- ウ子クラスとして派生するので,親クラスの属…:親の側が持つ属性を、子の側が受け継いで使えるという説明です。書き直す手間を省くための考え方であり、中身を隠すこととは別の筋道になります。
- エ同一メッセージを送っても,受け手のオブジ…:受け手が増えても、送る側は同じままでよいという説明です。ここで変わっているのは受け手の種類であって、ひとつのものの内部の作りではありません。
出典:平成21年度 秋期 基本情報技術者試験 午前 問46
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)