도메인 모델링은 소프트웨어 시스템의 핵심 요소와 관련된 데이터, 규칙, 동작 등을 형식화하는 과정입니다. 이러한 모델링을 할 때 TypeScript의 열거형(enum)을 사용하면 코드를 더 간결하고 가독성 있게 작성할 수 있습니다. 이 글에서는 TypeScript의 열거형을 이용하여 간단한 도메인 모델을 구축하는 방법에 대해 알아보겠습니다.
열거형(Enum)이란?
열거형은 특정 값들의 집합을 나타내는 자료형입니다. TypeScript에서 열거형을 사용하면 명명된 상수를 만들어 코드를 읽기 쉽고 이해하기 쉽게 만들 수 있습니다. 이를 통해 코드의 가독성을 향상시키고 실수를 줄일 수 있습니다.
열거형 사용 예시
예를 들어, 영화 예매 시스템을 구현한다고 가정해봅시다. 영화 예매 상태를 열거형으로 표현해보겠습니다.
enum ReservationStatus {
Pending,
Confirmed,
Cancelled,
Completed
}
위 예시에서 ReservationStatus
열거형은 네 가지 예매 상태를 정의합니다. 이제 이 열거형을 사용하여 예매와 관련된 코드를 작성할 수 있습니다.
class Reservation {
status: ReservationStatus;
constructor(status: ReservationStatus) {
this.status = status;
}
getStatusMessage() {
switch(this.status) {
case ReservationStatus.Pending:
return "예매 대기 중";
case ReservationStatus.Confirmed:
return "예매 확정";
case ReservationStatus.Cancelled:
return "예매 취소";
case ReservationStatus.Completed:
return "예매 완료";
}
}
}
const myReservation = new Reservation(ReservationStatus.Confirmed);
console.log(myReservation.getStatusMessage()); // 출력 값: "예매 확정"
위 코드에서 Reservation
클래스는 ReservationStatus
열거형을 사용하여 예매 상태를 나타내고, getStatusMessage
메서드를 통해 상태에 따른 메시지를 반환합니다.
결론
TypeScript의 열거형을 사용하면 도메인 모델을 더욱 명확하게 표현할 수 있고, 코드의 가독성을 향상시킬 수 있습니다. 열거형을 적절히 활용하여 프로젝트의 유지보수성을 높이고 개발 생산성을 향상시킬 수 있습니다.
열거형은 많은 다른 상황에서도 유용하게 활용될 수 있으며, 올바르게 사용하면 코드를 더 간결하고 이해하기 쉽게 만들어줍니다.
참고 문헌:
- TypeScript Handbook: https://www.typescriptlang.org/docs/handbook/enums.html