IT用語集 › プログラミング › 型クラス

型クラス

プログラミング Svenska → 更新: 2026-10-22

アドホック多相の仕組み。型がサポートすべき操作の集合を定義し、型ごとに別々に実装する。

概念の発明者は Haskell で、Wadler と Blott による 1989 年の論文に遡る。Rust は「トレイト」として取り入れ、Scala は implicit や contextual abstraction を通じて「型クラスパターン」を実現している。例えば型クラス Show は show :: a -> String を要求し、実装した型はすべて文字列化できる。

オブジェクト指向のインターフェースとの違いは三つ。(a) 型の定義後に外部から実装(インスタンス)を追加できる、(b) 静的ディスパッチでコストがゼロ、(c) メソッドが抽象型そのものを返せる(read :: String -> a)。現代の言語設計を牽引してきた考え方である。

← 用語集に戻る