基本情報技術者試験「オブジェクト指向」の問題
複数のクラスが共通の操作名をもち、同じメッセージ(操作呼び出し)を受け取っても、受け手の実際の型に応じて異なる処理が実行される性質を何と呼ぶか。
アカプセル化
イ集約
ウ多相性(ポリモーフィズム)
エ汎化
正解
ウ.多相性(ポリモーフィズム)
多相性(ポリモーフィズム)は、共通の操作名に対して、メッセージを受け取るオブジェクトの実際の型に応じた処理が実行される性質である。呼び出す側は型の違いを意識せず同じ呼び方で扱える。設問の『同じメッセージで型に応じ異なる処理』に正確に合致する。
?選択肢ごとの解説
ア ×カプセル化は内部データを隠蔽し操作経由でアクセスさせる考え方であり、同じ呼び出しが型ごとに異なる動きをする性質ではない。
イ ×集約は全体と部分の関係を表すクラス間の関連であり、操作の振る舞いが型で変わる性質を指すものではない。
ウ ○多相性(ポリモーフィズム)は、共通の操作名に対して、メッセージを受け取るオブジェクトの実際の型に応じた処理が実行される性質である。呼び出す側は型の違いを意識せず同じ呼び方で扱える。設問の『同じメッセージで型に応じ異なる処理』に正確に合致する。
エ ×汎化は共通の性質を上位クラスにまとめる関係(継承)であり、同一呼び出しが型で異なる処理になる性質そのものではない。
✎くわしく
多相性は継承やインタフェースと組み合わせて活きる。上位型で共通の操作を定義し、各下位クラスが実装を上書き(オーバーライド)することで、呼び出し側は具体型を知らずに統一的に扱える。これにより条件分岐が減り拡張性が高まる。汎化(継承)が土台、多相性がその上の振る舞いの仕組み、という関係を押さえるとよい。
✓本番での押さえどころ
試験のコツ
『同じ操作名』『型に応じて異なる処理』とあれば多相性と判断する。
覚え方
ポリ(多)+モルフ(形)=『一つの呼び方が多くの形に変わる』と語源で覚える。
よくある誤り
汎化(継承)と多相性を混同しやすい。継承は構造の引き継ぎ、多相性は呼び出しに対する振る舞いの違いという点で区別する。
開発技術の他の問題
アジャイル開発の手法であるスクラムにおいて、スプリントごとに動作するソフトウェアを開発チームが実際に作り上げ、その成果物をプ…ソフトウェアのテストにおいて、プログラムの内部構造には着目せず、入力に対する出力が仕様どおりであるかを検証する手法を採用した…あるシステムのファンクションポイント(FP)を見積もったところ、未調整FPは200であった。技術的複雑度を表す調整係数が0.…ソフトウェアの企画から開発・運用・保守・廃棄までの各活動について、取得者と供給者が同じ言葉で役割や作業範囲を取り決められるよ…ある開発プロジェクトでは、要件定義・設計・実装・テストの各工程を上流から下流へ順に進め、前工程の成果物を承認してから次工程へ…開発対象を複数の部分に分け、各部分について計画・リスク分析・開発・評価の活動を繰り返し、評価のたびにリスクを見極めながら少し…
この問題を、AIの8-ways解説つきで。
無料ではじめる →基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。
ukamiru 過去問 · 基本情報技術者試験 · fe-a2-0019