타입 클래스

타입 클래스(type class) 또는 형 클래스는 컴퓨터 과학에서 임시 다형성을 지원하는 유형 시스템 구성이다. 이는 매개변수적으로 다형성 유형의 유형 변수에 제약 조건을 추가함으로써 달성된다. 이러한 제약 조건에는 일반적으로 타입 클래스 T와 유형 변수 a가 포함되며, 이는 T와 관련된 오버로드된 작업을 지원하는 멤버가 있는 유형으로만 a를 인스턴스화할 수 있음을 의미한다.

타입 클래스는 필립 왈더(Philip Wadler)와 스티븐 블롯(Stephen Blott)가 표준 ML의 "eqtypes" 확장으로 처음 제안한 후 하스켈 프로그래밍 언어로 처음 구현되었으며, 원래는 오버로드된 산술 및 항등 연산자를 원칙적인 방식으로 구현하는 방법으로 고안되었다. 표준 ML의 "eqtypes"과 달리 하스켈의 타입 클래스를 사용하여 항등 연산자를 오버로드하는 경우 컴파일러 프런트엔드나 기본 유형 시스템을 광범위하게 수정할 필요가 없다.

 같이 보기 
 다형성 (컴퓨터 과학)
 하스켈
 연산자 오버로딩
 콘셉트 (C++)
 러스트 (프로그래밍 언어)

 각주 

 외부 링크 

 Advanced Functional Programming course at Utrecht University, 74 lecture slides on Advanced Type Classes. 2005-06-07.
 Implementing, and Understanding Type Classes. 2014-11-13.

분류:함수형 프로그래밍
분류:유형 이론
분류:자료형