[엘레강스 오브젝트] "생성자에 코드를 넣지 마세요" 내용에 대한 생각
참고로 필자는 "엘레강스 오브젝트"라는 책을 읽어본적은 없다. 하지만 코드 리뷰를 받으면서 "생성자에 코드를 넣지 마세요" 내용을 참고해보라는 피드백을 받았던 적이 있어 알아봤었다. 이 주제를 간단히 정리하면 생성자의 역할은 오직 멤버 변수의 초기화에만 집중해야 한다는 것이 핵심이다. 우선 생성자의 역할은 뭘까 ? 생성자의 기본적인 역할은 객체를 생성하고, 객체의 초기 상태를 설정하는 것이다. 그렇다면 이 책에서는 왜 생성자에 코드를 넣지 마라고 하는 걸까? 생성자에 코드를 넣었을 때 문제점 생성자에 코드를 넣지말라는 것은 그 어떤 코드도 들어가선 안된다는 의미는 아니다. public Cars(final List cars) { validate(cars); this.cars = List.copyOf(car..