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

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

