平成22年度 秋期 午前 問47
ソフトウェア開発管理技術
クラスとインスタンスとの関係
オブジェクト指向におけるクラスとインスタンスとの関係のうち,適切なものはどれか。
- アインスタンスはクラスの仕様を定義したものである。
- イクラスの定義に基づいてインスタンスが生成される。
- ウ一つのインスタンスに対して,複数のクラスが対応する。
- エ一つのクラスに対して,インスタンスはただ一つ存在する。
答えと解説を見る
✓ これが正解イクラスの定義に基づいてインスタンスが生成される。
解説
クラスが定めを置き、そこから実体が作られます。
クラスは、どんな属性を持ち、どんな振る舞いをするのかをまとめて定めたものです。インスタンスは、その定めに従って実際に作られた一つ一つの実体です。設計図と、それをもとに作られた製品の関係にあたります。プログラムが動いている間、実体は必要になったときに作られ、不要になれば捨てられます。判定の軸は二つあります。定める側と作られる側のどちらがどちらかという向きと、一つの定めからいくつ作れるのかという数の関係です。この二つが正しく述べられているかを見ます。
ほかの選択肢はなぜ違うのか
- アインスタンスはクラスの仕様を定義したもの…:定める側と作られる側が入れ替わっています。仕様を書き置いているのは型の側であって、実体はその書き置きに従って生み出される結果のほうです。
- ウ一つのインスタンスに対して,複数のクラス…:生み出された実体は、どの定めをもとに作られたのかが一つに決まります。複数の定めが同時に一つの実体に対応するという結び付き方にはなりません。
- エ一つのクラスに対して,インスタンスはただ…:同じ定めからは、必要な数だけ実体を作れます。数が一つに限られるという縛りは、この関係には含まれていないので、この記述は成り立ちません。
出典:平成22年度 秋期 基本情報技術者試験 午前 問47
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)