
Restful API로 익명 게시판 서버와 도서관 서버를 만들고 코드 리뷰 중에, 엔티티 디자인 할 때, setter를 사용하지 않는 것에 대해 생각해 보라는 피드백을 받았었다. 1. Cargo cult programming(카고 컬트 프로그래밍) 카고 컬트 프로그래밍이란 실제 목적이 없는 코드나 프로그래밍 구조를 의례적으로 포함시키는 것을 특징으로 하는 컴퓨터 프로그래밍을 의미한다고 한다. 처음 Setter에 대한 피드백을 받았을 때, 나는 스스로에게 의문을 가질 수 밖에 없었다. 왜 Setter를 만들었지?기억을 더듬어보면 내가 엔티티를 설계할 때 가장 먼저 했던 행동은 엔티티 클래스 위에 @Entity, @Getter, @Setter 작성이었다. 카고 컬트 프로그래밍이 되기 딱 좋은 조건이었다...