대수적 자료형

프로그래밍 언어, 특히 함수형 프로그래밍과 타입 이론에서의 대수적 자료형()은 다른 타입의 결합으로 만들어지는 합성 타입()을 가리킨다. 대수적 자료형의 두 가지 대표적인 예로써는 공용체() 등으로 불리는 합 타입(), 레코드(), 튜플() 등으로 불리는 곱 타입()이 있다.

대수적 자료형은 다른 자료형의 대체로 다른 자료형을 생성자로 감싸고 있다. 어떤 값도 대수적 자료형의 생성자의 인자가 될 수 있다. 반면에 다른 자료형은 생성자를 실행할 수 없으며 패턴 매칭() 과정을 통해 생성자를 얻을 수 있다.

가장 일반적인 대수적 자료형은 두개의 생성자를 가진 목록형(list)이다. 목록형은 비어있는 목록을 위해 Nil 또는 []를 지원한다. 예를 들어 LISP에서는 Cons(생성자의 준말)나 ::, :등을 이용하여 짧은 목록을 결합하여 새로운 목록을 만들 수 있게 한다. ((Cons 1 '(2 3 4)) 또는 1:[2,3,4]와 같은 방법으로 사용된다.

대수적 자료형을 지원하는 프로그래밍 언어

같이 보기 
 분리 합집합
 유형 이론
 비지터 패턴

각주 

자료형
유형 이론
함수형 프로그래밍
복합 자료형