데이터 클래스는 편리하지만, 프로젝트에 과용하면 문제가 생길 수 있다. 다음 절에서 이 문제
를 알아본다.
5
.
7
코드 악취로서의 데이터 클래스
모든 코드를 직접 작성하든 아니면 이번 장에서 설명한 클래스 빌더 중 하나를 활용해 만들든,
데이터 클래스를 구현할 때는 이 클래스가 설계상 문제점을 드러내는 신호일 수 있다는 점에
주의해야 한다.
『리팩터링
2
판』(한빛미디어,
2020
)의 저자인 마틴 파울러와 켄트 벡은 리팩터링이 필요함을
나타내는 코드 패턴에 관한 ‘코드 악취’ 카탈로그를 제시했다. 이 책의 ‘데이터 클래스’ 절에서는
다음과 같이 설명한다.
데이터 클래스란 데이터 필드와 게터/세터 메서드로만 구성된 클래스를 말한다. 그저 데이터
저장 용도로만 쓰이다 보니 다른 클래스가 너무 깊이까지 함부로 다룰 때가 많다.
마틴 파울러의 개인 웹사이트에는 ‘코드 악취’라는 제목의 글이 있다(
https://fpy.li/5-14
).
이 글에서는
데이터 클래스
를 코드 악취 사례의 하나로 사용하고 해결 방법을 제시한다. 다음은
해당 글 전체를 옮겨온 것이다.
9
9
운이 좋게도 필자가 마틴 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.