応用情報技術者 2013年 秋期 午前2 問47
問題文
オブジェクト指向言語のクラスに関する記述のうち、適切なものはどれか。
選択肢
ア:インスタンス変数には共有データが保存されているので、クラス全体で使用できる。
イ:オブジェクトに共通する性質を定義したものがクラスであり、 クラスを集めたものがクラスライブラリである。(正解)
ウ:オブジェクトはクラスによって定義され、クラスにはメソッドと呼ばれる共有データが保存されている。
エ:スーパクラスはサブクラスから独立して定義し、サブクラスの性質を継承する。
オブジェクト指向言語のクラスに関する記述【午前2 解説】
要点まとめ
- 結論:クラスはオブジェクトの共通の性質を定義し、複数のクラスをまとめたものがクラスライブラリである。
- 根拠:クラスは設計図としてオブジェクトの属性や動作を定義し、クラスライブラリは再利用可能なクラス群を指す。
- 差がつくポイント:インスタンス変数と共有データの違いや、継承の方向性、メソッドの役割を正確に理解することが重要。
正解の理由
イは「オブジェクトに共通する性質を定義したものがクラスであり、クラスを集めたものがクラスライブラリである」と述べており、オブジェクト指向の基本概念を正しく表現しています。クラスはオブジェクトの設計図であり、クラスライブラリは複数のクラスをまとめた再利用可能な資源です。
よくある誤解
インスタンス変数はオブジェクトごとに異なるデータを保持し、共有データはクラス変数に保存されます。継承はサブクラスがスーパクラスの性質を引き継ぐ方向であり、逆ではありません。
解法ステップ
- クラスの定義と役割を確認する(オブジェクトの共通性を定義)。
- インスタンス変数とクラス変数の違いを理解する。
- クラスライブラリの意味を把握する(複数クラスの集合)。
- 継承の方向性(スーパクラス→サブクラス)を確認する。
- 各選択肢の記述と基本概念を照らし合わせる。
選択肢別の誤答解説
- ア:インスタンス変数はオブジェクト固有のデータであり、共有データはクラス変数に保存されるため誤り。
- イ:正解。クラスとクラスライブラリの定義が正確。
- ウ:メソッドは動作(関数)であり、共有データではないため誤り。
- エ:継承はサブクラスがスーパクラスの性質を継承するため、スーパクラスがサブクラスから独立して定義するという表現は誤り。
補足コラム
クラスライブラリはプログラム開発の効率化に寄与し、標準ライブラリやサードパーティ製のライブラリとして広く利用されます。継承はコードの再利用と拡張性を高める重要な機能であり、正しい理解が設計力向上に繋がります。
FAQ
Q: インスタンス変数とクラス変数の違いは何ですか?
A: インスタンス変数は各オブジェクト固有のデータを保持し、クラス変数はクラス全体で共有されるデータです。
A: インスタンス変数は各オブジェクト固有のデータを保持し、クラス変数はクラス全体で共有されるデータです。
Q: クラスライブラリとは何ですか?
A: 複数のクラスをまとめたもので、再利用可能な機能群を提供し、開発効率を向上させます。
A: 複数のクラスをまとめたもので、再利用可能な機能群を提供し、開発効率を向上させます。
関連キーワード: オブジェクト指向、クラス、インスタンス変数、クラス変数、継承、クラスライブラリ、メソッド

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

