21.데이터 값을 객체로 전환 Replace Data Value with Object
추가적인 데이터나 동작을 필요로 하는 데이터 아이템이 있을 때는 데이터 아이템을 객체로 바꾸어라.
[ 동기 ]
종종 개발 초기 단계에서는 간단한 사실을 간단한 데이터 아이템으로 표현하도록 한다.
개발이 진행될수록 이런 간단한 데이터 아이템이 더 이상 간단하지 않다는 것을 알게 된다.
전화번호를 처음 한동안은 문자열로 표현할 수 있지만, 나중에는 포맷팅을 해야 한다든가, 지역코드를 추출해야 하는 등의 특별한 동작이 필요하다는 것을 알게 된다.
한두 개의 아이템에 대해서는 아이템을 포함하고 있는 객체에 메소드를 추가할 수 있겠지만, 곧 코드는 중복 (duplication)과 기능에 대한 욕심(feature envy)의 냄새를 풍기게 된다.
이런 냄새가 나기 시작하면 데이터 값을 객체로 바꾸어야 한다.
※ http://jinsmisc.pe.kr/49