Java 타입 표현의 진화 문자열 상수에서 sealed까지
·
카테고리 없음
최근 sealed 키워드를 사용해서 도메인 모델링을 진행하고 있습니다. 컴파일 시점에 다양한 상태를 표현할 수 있고, 코드 가독성과 상태별 테스트 작성도 편리해지는 느낌을 받았습니다.오랜만에 프로그래밍 자체가 재미있다고 느꼈습니다. 코드로 의도와 상태를 표현할 수 있고, 타입으로 인해 코드가 더 우아해지는 경험을 했습니다. 그 생각을 바탕으로 이 글을 작성합니다.바로 sealed부터 보면 조금 갑작스럽습니다. 초기 Java에서 상태나 타입을 표현하던 간단한 방식부터 시작해서, 문자열 상수, enum, sealed class가 각각 무엇을 해결했는지 순서대로 살펴보겠습니다.문자열 상수는 값을 모을 뿐 타입을 만들지는 않는다가장 흔한 시작점은 상수 클래스입니다.public final class OrderSt..