ポリモーフィズム
ポリモーフィズム（）とは、プログラミング言語の型システムの性質を表すもので、プログラミング言語の各要素（定数、変数、式、オブジェクト、関数、メソッドなど）についてそれらが複数の型に属することを許すという性質を指す。ポリモルフィズム、多態性、多相性、多様性とも呼ばれる。対義語はモノモーフィズム ("Monomorphism")、単態性、単相性で、プログラミング言語の各要素が唯一つの型に属するという性質を指す。

ポリモーフィズムは次のようないくつかの種類に分けられる。

* アドホック多相（Ad hoc polymorphism）：ある関数が、異なる型の引数に対してそれぞれ異なる実装を持つ場合。多くのプログラミング言語で関数の多重定義としてサポートされる。
* パラメータ多相（Parametric polymorphism）：コードが特定の型を指定せずに書かれることで、さまざまな型に対して透過的に使用できる場合。オブジェクト指向言語ではジェネリクスやジェネリックプログラミングとしても知られる。関数型言語の分野ではパラメータ多相のことを指して単に多相性と呼ぶ場合がある。
* 部分型付け（Subtyping）：部分型多相（subtype polymorphism）や包含多相（inclusion polymorphism）とも。共通の上位型をもつ複数の型を、1つの名前で扱う場合。オブジェクト指向言語の分野では部分型付けのことを指して単にポリモーフィズムと呼ぶ場合がある。

パラメータ多相と部分型付けを組み合わせることで、変性やの考え方に発展する。
Q9143
プログラミング言語
Concept
Q865760
型システム
Concept
Q1284190
定数
Concept
Q877977
変数
Concept
Q778379
式
Concept
Q216601
オブジェクト
Concept
Q190686
関数
Concept
Q815844
メソッド
Concept
Q1091461
多重定義
Concept
Q362031
変性
UNK
Q3240252
ポリモーフィズム
Concept
Q3240252
ポリモーフィズム
Concept
Q3240252
ポリモーフィズム
Concept
2020-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
1
DATE
+1^^http://www.w3.org/2001/XMLSchema#decimal
1
NUMBER
facet of
subclass of