대수 타입이란 여러 개의 타입을 합성해서 새롭게 만들어낸 타입을 의미한다.합집합 타입과 교집합 타입이 존재한다.합집합(Union) 타입다음과 같이 두 가지 이상의 타입을 합쳐서 사용할 수 있다. 특히 대수 타입은 객체 타입에서 유용하게 사용된다. 코드를 보면 Dog 타입과 Person 타입을 합친 Union1 타입을 만들었고, Union1 타입의 객체들은 Dog 타입의 프로퍼티, Person 타입의 프로퍼티를 각각 또는 모두 가지는 것이 가능하다.하지만, 두 타입이 공통적으로 가지고 있는 name이라는 프로퍼티만 정의하는 것은 불가능하다.교집합(Intersection) 타입각각의 타입에 공통적인 부분만 가능한 교집합 타입이 있다. variable 변수에 number 타입과 string 타입의 교집합을 정..