問題 No.3236
オブジェクト指向プログラミングにおいて、共通の基底クラスを継承する複数の派生クラスのインスタンスに対し、同一のメッセージ(メソッド呼び出し)を送信した際、それぞれのオブジェクトに応じた固有の処理が実行される仕組みを何と呼ぶか。
【正解の解説】
多態性
これはレストランで全員に「お会計!」と声をかけたとき、店員はレジを打ち、お客さんは財布を出し、シェフは領収書を書くように、同じ命令なのに相手によって動きが変わる便利な性質を指しています。
スポンサーリンク
【その他の選択肢の解説】
カプセル化
テレビのリモコンケースを開けて複雑な基盤を触らせず、表面のボタンだけで操作させるように安全性を高める仕組みのことで、振る舞いが変わる多態性とは目的が異なります。
継承性
親の遺伝子を子が引き継いでベースを作る仕組みのことであり、引き継いだ後に異なる振る舞いを実現する多態性の土台にはなりますが、それ単体ではメッセージに対する挙動の変化を意味しません。
抽象化
複雑な自動車の内部構造を隠して「アクセル」「ブレーキ」というシンプルな操作画面だけを定義するような作業であり、実行時の動的な挙動の変化を示す多態性とは異なる概念です。