平成29年度 春期47テクノロジ系

基本情報 平成29年度 春期 問47:テクノロジ系に関する問題

オブジェクト指向分析を用いてモデリングしたとき, クラスとオブジェクトの関 係になる組みはどれか。

  • a公園, ぶらんこ
  • b公園, 代々木公園正答
  • c鉄棒, ぶらんこ
  • d中之島公園, 代々木公園
正答:B公園, 代々木公園

AI解説(初心者・標準・上級)

理解度に合わせて3レベルの解説を無料で読めます。

初心者向けまずはここから。やさしく要点を解説

答えは b「公園, 代々木公園」 です。

クラス=「設計図」「種類の名前」、オブジェクト=「その設計図から作った実物」。

「公園」というカテゴリ(クラス)に対して、「代々木公園」はその実物(オブジェクト)。たとえば「犬」がクラスで「ポチ」がオブジェクト、みたいなイメージです。

👉 覚え方:クラス=抽象、オブジェクト=具体

ほかの選択肢:a 公園とぶらんこは「全体と部分」の関係/c 鉄棒とぶらんこは「同じ仲間」/d 中之島公園と代々木公園は「どちらも実物」で同じ立場。

標準試験対策の基準レベル

なぜこれが正解か

正解は b。オブジェクト指向ではクラスは概念・型・テンプレートを表し、オブジェクト(インスタンス)はそのクラスから生成された具体的な実体を指す。「公園」というクラスに属する具体例として「代々木公園」が存在する、というクラス/インスタンスの関係が成立する。

各選択肢の解説

  • a 公園・ぶらんこ:公園は構成要素として遊具を持つ=集約(aggregation)/コンポジションの関係。
  • b 公園・代々木公園:抽象=クラス、具体=インスタンス → 正解
  • c 鉄棒・ぶらんこ:どちらも「遊具」クラスの兄弟インスタンス。クラス・オブジェクト関係ではない。
  • d 中之島公園・代々木公園:どちらも「公園」のインスタンス同士で同列。

覚え方・ひっかけ注意

「クラスは型、オブジェクトは実例」の関係は汎化(is-a)とも異なるので注意。「犬 is-a 動物」は汎化(クラス間の関係)、「ポチ is-an instance of 犬」がインスタンス化。dの「中之島と代々木」のように両方が固有名(インスタンス)の組は引っかけ頻出。

上級誤答論破・背景理論まで深掘り

理論的背景

オブジェクト指向の関係概念は UML で厳密に区別される:

  • インスタンス化(instantiation):クラス→オブジェクト。本問の関係。
  • 汎化(generalization, is-a):スーパークラス←サブクラス。継承で実現、白抜き三角矢印。
  • 実現(realization):インタフェース←実装クラス、破線+白抜き三角。
  • 関連(association, has-a):クラス間の構造的関係、実線。
  • 集約(aggregation):部分が全体に属するが独立して存在可能、白抜き菱形。
  • コンポジション(composition):部分は全体と運命を共にする強い所有、黒塗り菱形。
  • 依存(dependency):一時的な使用関係、破線矢印。

メタモデル階層

OMGのMOFでは M0(実行時インスタンス)⇄ M1(モデル=クラス)⇄ M2(メタモデル=UML自体)⇄ M3(メタメタモデル=MOF) の4階層が定義される。本問は M0⇄M1 の関係。「クラス自体もメタクラスのインスタンス」と捉える視点は、Smalltalk・Ruby・Python等のメタプログラミング理解に必須。

実装言語との対応

  • Pythonでは `代々木公園 = 公園()` でインスタンス生成、`isinstance(代々木公園, 公園)` で関係確認。
  • Javaでは `公園 代々木公園 = new 公園();` の `new` がインスタンス化演算子。
  • JavaScriptはプロトタイプベースで、クラスは概念上存在せずプロトタイプチェーンで継承を実現(ES6でclass構文は導入されたが内部はprototype)。

試験での位置づけ

FE「ソフトウェア開発/オブジェクト指向」分野で頻出。UMLクラス図の関係判別問題は応用情報・高度試験でも継続出題。汎化/集約/コンポジション/関連/実現の5関係の図示記号を完璧に区別できるようにする。

選択肢の発展補足

aの公園⇄ぶらんこはコンポジション(公園が消滅すると遊具も消える)の典型例。cの鉄棒・ぶらんこは「遊具」抽象クラスからの兄弟インスタンス、共通の振る舞いを継承する場合にStrategyTemplate Method パターンの題材になる。

出典・引用について

出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成29年度 春期47/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。

テクノロジ系の他の過去問

1
テクノロジ系
2
テクノロジ系
3
テクノロジ系
4
テクノロジ系
5
テクノロジ系

あなたの弱点を診断して、合格までの最短ルートを

この分野を連続演習し、AIがあなたの弱点を分析。合格ナビなら基本情報の過去問を解きながら学べます。