개발

프로그래밍/Java

[Effective Java 3/E] 생성자에 매개변수가 많다면 빌더를 고려하라

생성자나 정적 팩터리 메서드를 사용할 때 제약이 하나 있다. 선택적 매개변수가 많을 때 적절히 대응하기 어렵다는 점이다. 1. 점층적 생성자 패턴(telescoping constructor pattern) 식품 포장의 영양정보를 표현하는 클래스를 생각해보자. 영양정보는 소수의 필수항목과 다수의 선택항목으로 이뤄진다. 그런데 대부분 제품은 이 선택 항목중 대다수의 값이 그냥 0이다. 전통적으로 이러한 상황에서는 점층적 생성자 패턴(telescoping constructor pattern) 을 즐겨 사용했다. 필수 매개변수만 받는 생성자, 필수 매개변수와 선택 매개변수 1개를 받는 생성자, 선택 매개변수를 2개까지 받는 생성자, ... 형태로 선택 매개변수를 전부 다 받는 생성자까지 늘려가는 방식이다. pu..

프로그래밍/Java

[Effective Java 3/E] 생성자 대신 정적 팩터리 메서드를 고려하라

1. 정적 팩터리 메서드란 클래스의 인스턴스를 얻는 전통적인 수단은 public 생성자다. 하지만 모든 프로그래머가 꼭 알아둬야 할 기법이 하나 더 있다. 바로 정적 팩터리 메서드(static factory method) 이다. 먼저 정적 팩터리 메서드로 인스턴스를 어떻게 얻는지 아래 코드를 보자. import lombok.Getter; @Getter public class JwtVo { private JwtHeaderVo header; private JwtPayloadVo payload; private JwtSignatureVo signature; private JwtVo(JwtHeaderVo header, JwtPayloadVo payload, JwtSignatureVo signature) { thi..

su_min
'개발' 태그의 글 목록