型クラス

（計算機科学の）型クラス（かたクラス、Type class）は、をサポートする型システムの機能である。のにを付加して、関数オーバーロードと演算子オーバーロードを実現するのが元々の目的になる。その型変数に当てはめられたデータ型は、それへの制約でカテゴライズされることになる。
典型的な型クラスは、型クラスcodice_1と型変数codice_2とそのcodice_2を引数/返り値にしたの構成で宣言される。codice_2に型codice_5を当てはめたインスタンス化宣言でcodice_5はcodice_1で制約されて、その型codice_5を引数/返り値にする関数と演算子もインスタンス化される。総称関数も型codice_5でインスタンス化される。
型クラスは、Standard MLのeqtypesで提唱された後に、Haskellで初めて導入されている。その主な目的はなどによる型システムの拡張的補正なしの関数オーバーロードの実現である。これはでのプログラムの形式的検証に必須になる。また、モナドの実践も容易にする。
その他の言語では、アドホック多相をサブタイプ多相に置き換えて、インターフェースとジェネリクスを融合したような機能にされていることが多い。それはレコードや構造体やオブジェクトに実装されて、その振る舞いをカテゴライズする。