매직 넘버를 발견하면 상수로 대체하고, 상태값이라면 Enum으로 바꾼다. 많은 개발팀에서 여기까지를 “좋은 설계”라고 여긴다. 하지만 상수화는 값에 이름을 붙일 뿐이고, Enum은 허용 가능한 값을 타입으로 정의할 뿐이다. 둘 다 값을 해석하는 판단 규칙을 캡슐화하지는 못한다. 이 글에서는 매직 넘버에서 상수화, Enum, 데이터 추상으로 이어지는 네 단계 진화 과정을 살펴보며, 왜 데이터 추상이 최종 목적지인지 설명한다.
magic-number | data-abstraction
매직 넘버에서 데이터 추상까지
매직 넘버에서 상수화, Enum, 데이터 추상으로 이어지는 코드 설계의 진화 과정을 살펴보며, Enum만으로 부족한 이유와 비즈니스 규칙을 캡슐화해야 하는 이유를 Java 예제와 함께 설명합니다.

