Java18 [Effective Java] Item02. 생성자에 매개변수가 많다면 빌더 패턴을 고려하라 들어가며 지난 Item01에서는 public 생성자의 대안으로 정적 팩토리 메서드를 사용하는 것에 대해 정리했다. 많은 경우에 정적 팩토리 메서드는 public 생성자에 비해 장점을 가지고 있지만, 두 방법 모두 똑같은 제약을 가지고 있다. 바로 객체에 전달할 매개변수 중 선택적 매개변수가 많을 경우에 그에 대한 유연성이 떨어진다는 점이다. 이번 포스트에서는 선택적 매개변수가 많을 경우 public 생성자, 정적 팩토리 메서드의 대안들에 대해 알아보고 그 중에서 빌더 패턴에 대해 정리해볼 예정이다. 확장의 어려움 앞에서 언급했듯이 public 생성자와 정적 팩토리 메서드 기법은 확장이 어렵다. 예를 들어 건강 식품(단백질 보충제, 기타 아미노산 보충제 등)의 경우, 1회 제공량, 총 제공량, 중량 등의 .. 2022. 1. 14. [Effective Java] Item01. 생성자 대신 정적 팩토리 메서드를 고려하라 들어가며 최근 회사에서 인턴 멘토링을 하게 되며 길게 늘어지는 빌더의 사용 대신 정적 팩토리 메서드의 사용을 추천한 적이 있다. 평소 빌더 패턴을 이용한 객체 생성보다는 정적 팩토리 메서드 패턴을 이용한 객체 생성을 즐겨 쓰던 터라 관련 코멘트를 남겼지만, 코멘트를 남기다 보니 빌더 패턴에 비해 정적 팩토리 메서드 패턴이 갖는 명확한 장점이 무엇인지 나 스스로도 모호하다고 생각했다. 관련 자료를 다시 찾아보고 정리한 바에 따르면 인스턴스 생성에 필요한 인자가 많고 자주 변한다면 빌더 패턴을 사용하는 것이 좋으나, 매 인스턴스 생성시마다 사용하는 인자가 정해져있는 상황에서는 정적 팩토리 메서드 패턴이 더 장점을 갖는 것 같다. 이와 관련해서 이번 포스트, 다음 포스트에서 각 패턴의 특징을 정리해보려고 한다.. 2022. 1. 10. 이전 1 2 3 4 5 다음