基本情報技術者試験 - 令和5年12月修了 - 問35
| ア | 同じ性質をもつ複数のオブジェクトを抽象化して,整理すること |
|---|---|
| イ | 基底クラスの性質を派生クラスに受け継がせること |
| ウ | クラス間に共通する性質を抽出し,基底クラスを作ること |
| エ | データとそれを操作する手続を一つのオブジェクトにして,データと手続の詳細をオブジェクトの外部から隠蔽すること |
答え : エ
分野 : テクノロジ系 › 開発技術 › システム開発技術 › 設計
解説 :
オブジェクト指向における「カプセル化」とは,データ(属性)と,そのデータを操作するための手続き(メソッド)を一つのオブジェクトとしてまとめ,オブジェクトの内部にある詳細な実装を,外部から直接見えないように隠す考え方です。
カプセル化によって,オブジェクトの内部構造を意識することなく,外部からは決められた手続き(インタフェース)を通じてのみそのオブジェクトを操作できるようになり,オブジェクト同士の依存関係を弱め,変更に強いプログラムを作ることができます。正解は「エ」です。
「ア」は,同じ性質を持つ複数のオブジェクトを抽象化して整理することについての説明で,これは「抽象化」や「クラス化」に近い概念です。
「イ」は,基底クラスの性質を派生クラスに受け継がせることについての説明で,これは「継承」の説明です。
「ウ」は,クラス間に共通する性質を抽出して基底クラスを作ることについての説明で,これも継承に関連する考え方(汎化)に近い内容です。
カプセル化,継承,抽象化(多態性を含む)は,いずれもオブジェクト指向の重要な特徴ですが,それぞれ異なる概念を指しているため,混同しないよう注意が必要です。
分野 : テクノロジ系 › 開発技術 › システム開発技術 › 設計
解説 :
オブジェクト指向における「カプセル化」とは,データ(属性)と,そのデータを操作するための手続き(メソッド)を一つのオブジェクトとしてまとめ,オブジェクトの内部にある詳細な実装を,外部から直接見えないように隠す考え方です。
カプセル化によって,オブジェクトの内部構造を意識することなく,外部からは決められた手続き(インタフェース)を通じてのみそのオブジェクトを操作できるようになり,オブジェクト同士の依存関係を弱め,変更に強いプログラムを作ることができます。正解は「エ」です。
「ア」は,同じ性質を持つ複数のオブジェクトを抽象化して整理することについての説明で,これは「抽象化」や「クラス化」に近い概念です。
「イ」は,基底クラスの性質を派生クラスに受け継がせることについての説明で,これは「継承」の説明です。
「ウ」は,クラス間に共通する性質を抽出して基底クラスを作ることについての説明で,これも継承に関連する考え方(汎化)に近い内容です。
カプセル化,継承,抽象化(多態性を含む)は,いずれもオブジェクト指向の重要な特徴ですが,それぞれ異なる概念を指しているため,混同しないよう注意が必要です。