オブジェクト指向の基本概念はどう見分けるか
基本情報技術者試験 平成29年度春期 午前 問48 / システム開発技術 › ソフトウェア方式設計・詳細設計
過去問にチャレンジ
オブジェクト指向の基本概念の組合せとして,適切なものはどれか。
- ア
仮想化,構造化,投影,クラス
- イ
具体化,構造化,連続,クラス
- ウ
正規化,カプセル化,分割,クラス
- エ
抽象化,カプセル化,継承,クラス
会話形式の解説
講師この問題は、四つの語がすべてオブジェクト指向の基本概念に当たるかを確かめます。一部だけで判断しないことが大切です。
受験者どの組合せにもクラスがあるので、クラスだけでは決められないですね。
講師そうです。クラスは、オブジェクトに共通する属性や操作を定義するものです。残る三つの語を見ていきます。
受験者具体化は、共通点を取り出すという意味ではないのですか。
講師共通する性質を取り出すのは抽象化です。具体化は異なりますし、同じ組合せの構造化と連続も、ここで求める概念には当たりません。
受験者仮想化や投影が入った組合せも、クラス以外の語を確かめる必要がありますね。
講師はい。仮想化と投影は、この問題で求める基本概念に入りません。構造化も含めて、四つがそろった組合せにはなりません。
受験者カプセル化とクラスが入ったウは、二つ正しい語があるので迷います。
講師ウの正規化と分割は、必要な抽象化と継承に当たりません。カプセル化とクラスが正しくても、ウ全体は選べません。
受験者残る組合せでは、抽象化、カプセル化、継承、クラスがそれぞれ何を表すか確認したいです。
講師抽象化は共通する性質を取り出し、カプセル化はデータとその操作をまとめます。継承は既存クラスの性質を下位クラスに引き継ぎ、クラスは共通の属性や操作を定義します。四つとも該当するので、正解はエです。
受験者一部に知っている語があっても、四つすべての意味を確かめれば判断できますね。
講師その確認が有効です。特に、具体化と抽象化を取り違えず、正しい語が二つあるウでも残りの語まで見ることがポイントです。
まとめ
正解はエです。抽象化は共通する性質を取り出し、カプセル化はデータと操作をまとめ、継承は既存クラスの性質を引き継ぎます。クラスは共通の属性や操作を定義します。一部に正しい語が含まれていても、組合せ全体で判断します。
解答・解説
正解はエです
この問題のテーマ
オブジェクト指向の基本概念を、異なる分野や一般的な作業を表す語と区別できるかを問う問題です。
解き方の考え方
まず、クラスがオブジェクトに共通する属性や操作を定義するものだと押さえます。次に、残る三つの語が、共通点を取り出すこと、データと操作をまとめること、既存クラスの性質を引き継ぐことに対応するかを確かめます。
選択肢ごとの解説
- ×ア 仮想化,構造化,投影,クラス仮想化や投影は、この問題で問われている基本概念の組合せに入りません。クラスは含まれていますが、構造化も含めて四つをそろえた組合せとしては不適切です。
- ×イ 具体化,構造化,連続,クラス具体化は、対象の共通点を取り出す抽象化とは異なります。構造化と連続も、この問題で求める概念に当たらないため、クラスが含まれていても適切な組合せにはなりません。
- ×ウ 正規化,カプセル化,分割,クラスカプセル化とクラスは、どちらもオブジェクト指向に関わる概念です。しかし、正規化と分割はこの組合せに必要な抽象化と継承に当たらないため、選べません。
- ○エ 抽象化,カプセル化,継承,クラス抽象化は共通する性質を取り出し、カプセル化はデータと操作をまとめます。継承は既存クラスの性質を引き継ぎ、クラスは共通の属性や操作を定義するので、四つとも該当します。
POINT
- 抽象化では、個々の対象から共通する性質を取り出します。
- カプセル化では、データとそのデータに対する操作をまとめます。
- 継承では、既存クラスの性質を下位クラスに引き継ぎます。
- 一部に正しい語が含まれていても、組合せ全体を確認して判断します。
