本文へスキップ

平成24年度 秋期 ITパスポート試験 問45

この問題の解説と、これまでの解答の記録です。

問45
頻出度★★★

次の a~d のうち,オブジェクト指向の基本概念として適切なものだけを全て挙げたものはどれか。 a クラス b 継承 c データの正規化 d ホワイトボックステスト

出典 平成24年度 秋期 ITパスポート試験 問45
解説

問 45

  • ア

    正解 正解はア「a,b」。オブジェクト指向とは、データ (属性) とそれを操作する手続き (メソッド) を一体にしたオブジェクトを部品として、システムを組み立てる考え方である。その基本概念として必ず挙げられるのがクラス・継承・カプセル化・多相性 (ポリモーフィズム) などで、本問の a と b がこれに該当する。a のクラスは、同じ性質をもつオブジェクトに共通する属性と操作をまとめて定義した「ひな型」であり、クラスから実際に生成された実体をインスタンス (オブジェクト) と呼ぶ。たとえば「社員」クラスに社員番号・氏名という属性と、給与計算という操作を定義しておけば、個々の社員はそのインスタンスとして扱える。b の継承 (インヘリタンス) は、既存クラス (スーパクラス・親クラス) がもつ属性と操作を新しいクラス (サブクラス・子クラス) が自動的に引き継ぎ、差分だけを追加・変更してクラスを定義できる仕組みである。共通部分を上位クラスにまとめられるので重複した記述が減り、再利用性と保守性が高まる。一方 c と d はそれぞれ関係データベース設計とソフトウェアテストの用語で、オブジェクト指向の概念ではない。よって、オブジェクト指向の基本概念だけを過不足なく挙げているのは a と b の組合せ、すなわちアである。

  • 不正解イ

    a クラスは正しくオブジェクト指向の基本概念だが、c データの正規化が誤り。正規化は関係データベースの設計技法で、一つの表に混在した項目を第1正規形・第2正規形・第3正規形と段階的に分割し、データの重複や、挿入・更新・削除の際に生じる不整合 (更新時異常) を防ぐための手法である。扱う対象は表と項目の関数従属関係であって、オブジェクトやクラスの構造ではないため、オブジェクト指向の基本概念には含まれない。したがって a と c の組合せは不適切。

  • 不正解ウ

    b 継承は正しくオブジェクト指向の基本概念だが、c データの正規化が誤りである点はイと同じで、正規化は関係データベース設計の概念にすぎない。また、この選択肢は正しい概念である a クラスを含んでいないため、仮に c を除いたとしても「適切なものだけを全て挙げたもの」という設問の要求を満たさない。「全て挙げる」ことと「余計なものを含めない」ことの両方が必要である点に注意したい。

  • 不正解エ

    c データの正規化 (関係データベースの設計技法) も d ホワイトボックステスト (モジュール内部の分岐や経路といった論理構造に着目してテストケースを設計するテスト技法。内部構造を見ずに入力と出力の関係だけで検証するブラックボックステストと対になる) も、どちらもオブジェクト指向の概念ではない。オブジェクト指向の基本概念である a クラスと b 継承をまったく含んでおらず、二重に誤りとなる組合せである。

ここがポイント
  • オブジェクト指向の基本概念 — 属性と操作をまとめたひな型がクラス、そこから生成された実体がインスタンス、既存クラスの属性と操作を引き継いで差分定義するのが継承。ほかに内部データを隠して公開した操作経由でのみ扱わせるカプセル化、同じメッセージに対しオブジェクトごとに異なる振る舞いをする多相性 (ポリモーフィズム) も基本概念として押さえる。
  • 紛らわしい用語を分野で切り分ける — データの正規化は関係データベース設計 (重複と更新時異常の排除)、ホワイトボックステストはソフトウェアテスト技法 (内部論理構造に基づくテストケース設計) の用語。この種の「適切なものだけを全て挙げよ」形式は、正しいものを漏らさないことと誤ったものを混ぜないことの両方を満たす選択肢を選ぶ必要がある。
用語

解答の記録