언어의 주요 목표는 메시지를 명확하고, 안정적인 방식으로 전달하는 것이다.

DSL(도메인 전용 언어)는 특정 도메인을 대상으로 만들어진 특수 프로그래밍 언어이다.

내부적 DSL에서는 적절하게 클래스와 메서드를 노출하는 과정이 필요하다. 외부 DSL은 DSL 문법 뿐 아니라 DSL을 평가하는 파서도 구현해야 한다.

10.1 도메인 전용 언어

DSL은 특정 비즈니스 도메인의 문제를 해결하려고 만든 언어이다.

DSL이란 특정 비즈니스 도메인을 인터페이스로 만든 API라고 생각할 수 있다.

DSL은 범용 프로그래밍 언어가 아니다. 동작과 용어는 특정 도메인에 국한되며, DSL을 사용하면 사용자가 특정 도메인의 복잡성을 더 잘 다룰 수 있다.

저수준 구현 세부 사항 메서드는 클래스의 비공개로 만들어서 저수준 구현 세부 내용은 숨길 수 있다.

아래의 두 가지 필요성을 생각하면서 DSL을 개발해야 한다.

10.1.1 DSL의 장점과 단점

장점