平成25年度 春期48テクノロジ系

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

オブジェクト指向開発において, オブジェクトのもつ振る舞いを記述したものを何 というか。

  • aインスタンス
  • bクラス
  • c属性
  • dメソッド正答
正答:Dメソッド

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

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

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

答えは d「メソッド」 です。

オブジェクト指向は「モノとモノの動き」を分けて考える設計の考え方です。

  • クラス:設計図(犬という種類)
  • インスタンス:その設計図から作った実物(ポチ、タロウ)
  • 属性:モノの特徴(毛色・体重)
  • メソッド:モノができる行動(吠える・走る)

👉 覚え方:「メソッド=モノができる行動/メソッド=Method=やり方」。

オブジェクトの“振る舞い(行動)”を書いたものがメソッドです。

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

なぜこれが正解か

正解は d メソッド。オブジェクト指向では、オブジェクトの振る舞い(behavior)を記述したものをメソッドと呼ぶ。クラス内で関数として定義され、外部からの呼び出し(メッセージ)に応じて処理を実行する。

各選択肢の解説

  • a インスタンス:クラスから生成された実体(オブジェクト)。
  • b クラス:オブジェクトの設計図(属性とメソッドの定義集合)。
  • c 属性(フィールド・プロパティ):オブジェクトが持つデータ。
  • d メソッド:オブジェクトが持つ振る舞い(操作・関数)。

覚え方・ひっかけ注意

オブジェクト指向4要素「クラス=設計図、インスタンス=実体、属性=データ(状態)、メソッド=振る舞い(操作)」をセット記憶。カプセル化は属性とメソッドを1つにまとめる原理で、属性はprivate(外部直接アクセス禁止)、メソッド経由でアクセスさせるのが原則。「振る舞い」「操作」「ふるまい」と書かれていれば即メソッド。

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

理論的背景

オブジェクト指向プログラミング(OOP)の3大原則は (1) カプセル化(encapsulation)(2) 継承(inheritance)(3) 多態性(polymorphism)。クラス(class)はオブジェクトの型を定義し、属性(attribute/field/state)と操作(method/operation/behavior)から構成される。インスタンス化により実体オブジェクトを生成、各インスタンスは独立した状態を保持。メソッドはディスパッチ(呼び出し解決)方式により (1) 静的(コンパイル時、static method)(2) 動的(実行時、virtual method) に分類され、動的ディスパッチが多態性を実現する。

実務での使われ方

Java・C#・C++・Python・Rubyなど主要言語がOOPを支援。実務では デザインパターン(Gang of Four 23パターン)が設計再利用の標準ボキャブラリ:Singleton、Factory、Observer、Strategy、Decoratorなど。SOLID原則(Single Responsibility、Open/Closed、Liskov Substitution、Interface Segregation、Dependency Inversion)が設計品質の指針。ドメイン駆動設計(DDD)ではEntity・Value Object・Aggregate・Repository・Service・Factory・DomainEventなど業務概念をオブジェクトとして表現。テスト時はモックオブジェクトでメソッド呼び出しを検証し、振る舞いベースのテスト(BDD)を実施。

試験での位置づけ

FE・APソフトウェア設計分野の頻出。OOP用語、UML図(クラス図・シーケンス図・ユースケース図・状態遷移図・アクティビティ図)、設計原則、デザインパターンと関連付けて出題。応用情報・データベーススペシャリストでは抽象クラス・インタフェース・ジェネリクス・ラムダ式、関数型プログラミングとのハイブリッド設計まで踏み込む。

関連事項・発展補足

属性(c)はインスタンス変数・クラス変数(静的フィールド)に分かれ、JavaのprivateフィールドはGetter/Setterメソッドでアクセスを制御するのが標準。クラス(b)は単一継承(Java・C#)と多重継承(C++・Python)で言語仕様が分かれ、Javaは多重継承の代替としてインタフェースを提供。インスタンス(a)はnewキーワードで明示生成、ガベージコレクタが不要オブジェクトを自動回収。メソッドオーバーロード(同名・引数違い)とオーバーライド(親クラスメソッドの再定義)の区別、抽象メソッド(実装なし、サブクラスで実装必須)、ファクトリメソッド(オブジェクト生成専用)も頻出概念。最近の言語潮流ではOOPと関数型を融合したマルチパラダイム(Scala・Kotlin・Swift・Rust)が主流化し、純粋OOP(Smalltalk流)よりも実用的バランスが求められる。

出典・引用について

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

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

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

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

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