본문 바로가기

Dev/Effective Java6

2. 아이템[2] - 생성자에 매개변수가 많다면 빌더를 고려하라 1. 서론 저번 시간 복습. 생성자 대신 정적 팩토리 메서드를 고려하는 방법 4가지에 대해 알아보았습니다. 캐싱, 이름, 하위클래스 리턴 가능, 매개변수에 따른 새로운 클래스 리턴 가능. 하지만 개발자가 이름을 알기 어려우므로 API 정리를 잘 해야하고, 정팩매만으로 클래스를 구성할 수 없다는 단점이 있었습니다. 2. 본론 이번 포스팅에서는 생성자에 매개변수가 많은 경우 이를 빌더를 통해 해결하는 방법에 대해 공부해보려 합니다. 책에서는 먼저 정적 팩토리와 생성자의 매개변수가 많을 때, 이를 어떻게 해결해야하는지에 대해 질문을 던지고 있습니다. 어떤 상황인지 이해하기 위해 간단히 코드를 가져와보겠습니다. 1. 점층적 생성자 패턴을 사용하기 public class NutritionFacts { privat.. 2021. 1. 10.
1. 아이템[1] - 생성자 대신 정적 팩터리 메서드를 고려하라 1. 서론 이팩티브 자바 스터디를 혼자 시작했습니다. 자바-봄 이라는 블로그를 보고 감명받았기 때문입니다. 단지 그 이유 하나입니다. 스터디 후기를 읽어보니 나도 참 기본이 부족하다는 회고를 했습니다. 기본기를 다져서 나쁠 것이 전혀! 없기 때문에 책은 없지만 최고의 선생님인 구글과 함께 시작해보았습니다. 스터디의 모든 내용은 코드를 통해 구현한 것만 이해된다고 가정하고 시작했습니다. 해당 내용은 여기에서 확인할 수 있습니다. 2. 본론 전통적으로 public 생성자를 사용하고 더 나아가 정적 팩터리 메서드를 제공할 수 있다. 이 말이 무엇인지도 이해를 잘 하지 못하는 것이 충격이었다. 답은 역시 구글링. 1. 클래스가 기본적으로 인스턴스를 얻기 위해서는 public 생성자를 이용해야 합니다. 2. 하지.. 2021. 1. 9.