多相性

更新日:

用語解説

多相性(ポリモーフィズム)は、共通の型・インタフェースに対する同じ操作呼出しが、実際の対象型に応じた異なる実装として振る舞う性質です。

■ 試験で押さえるポイント

  • サブタイプ多相では、基底型の参照に各サブクラスのインスタンスを代入し、オーバーライドされたメソッドを動的結合で選びます。

  • 同じメソッド名を異なる引数で定義するオーバーロードはアドホック多相、型パラメータを使うジェネリクスはパラメトリック多相です。

  • 呼出側が型ごとのif・switchを持たず共通契約へ依存でき、新しい型の追加時に既存コードの変更を減らします。

  • 各実装は共通契約の事前条件を強めず事後条件を弱めない等、リスコフの置換原則を満たす必要があります。

■ 選択肢での判断ポイント

同じインタフェース呼出しが実型ごとに異なる実装へ結び付く性質です。オーバーロードとオーバーライドを区別します。

例: List<Shape>の各要素へdrawを呼ぶと、Circleは円、Rectangleは長方形を描き、呼出側は具体型を判定しません。

音声で聞く

同じ分野の用語