ポリモーフィズムとは?
ぽりもーふぃずむ
ポリモーフィズムとは、異なる型のオブジェクトを同一のインターフェースで扱えるオブジェクト指向プログラミングの重要な概念です。
ポリモーフィズム(Polymorphism)とは、「多態性」や「多形性」とも訳される、オブジェクト指向プログラミングの基本概念の一つです。同じ名前のメソッドや操作が、オブジェクトの種類に応じて異なる振る舞いをする性質を指します。
ポリモーフィズムは主に以下の形式に分類されます。
- サブタイプ多態性(継承ベース):親クラスの型として子クラスのオブジェクトを扱い、メソッドのオーバーライドによって異なる動作を実現する。最も一般的な形式。
- アドホック多態性(オーバーロード):同じ名前のメソッドを引数の型や数に応じて複数定義する。
- パラメトリック多態性(ジェネリクス):型をパラメータとして扱い、さまざまな型に対して同一のアルゴリズムを適用する。
具体的な例として、「動物」という親クラスに「鳴く」というメソッドを定義し、「犬」「猫」「鳥」という子クラスがそれぞれ異なる鳴き声を実装するケースが挙げられます。呼び出し側は動物型の参照を通じて「鳴く」を呼ぶだけでよく、実際にどの動物かを意識する必要がありません。
ポリモーフィズムを活用することで、コードの拡張性と再利用性が高まり、新しい型を追加しても既存のコードを変更せずに対応できる柔軟な設計(開放閉鎖原則)が実現できます。
使い方・例文
「描画処理をShapeクラスとして統一し、円・四角・三角それぞれのdrawメソッドをポリモーフィズムで呼び分ける」というように、UIやゲーム開発でよく活用されます。
この用語をシェア
最終更新: