본문 바로가기

책읽고 정리8

[Effective Java 3/E] 아이템2. 생성자에 매개변수가 많다면 빌더를 고려하라 정적 팩토리와 생성자는 선택적 매개변수가 많을 때 적절히 대응하기가 어렵다. 이를 해결하기위한 몇 가지 대안을 알아보자 점층적 생성자 패턴(telescoping constructor pattern 필수 매개변수와 선택적 매개변수를 조합하여 여러 개의 생성자를 만들어서 사용하는 방식 점층적 생성자 패턴 예제코드 단점 : 점층적 생성자 패턴도 쓸 수는 있지만, 매개변수 개수가 많아지면 클라이언트 코드를 작성하거나 읽기 어려워진다. 자바빈즈 패턴(JavaBeans Pattern) 매개변수가 없는 생성자로 객체를 만들고, setter 메서드를 사용하여 매개변수의 값을 설정하는 방식 자바빈즈 패턴 예제코드 단점 객체를 하나 만드는데 여러 개의 메서드를 호출해야 한다. 객체가 완전히 생성되기 전까진 일관성(cons.. 2021. 5. 14.
[Effective Java 3/E] 아이템1. 생성자 대신 정적 팩터리 메서드를 고려하라 정적 팩터리 메서드란? 클래스의 인스턴스를 반환하는 정적 메서드 Boolean 클래스의 valueOf 메서드는 기본 타입인 boolean 값을 받아 Boolean 객체 참조로 변환해준다. //Boolean 클래스의 코드 중 일부 public static Boolean valueOf(boolean b) { return (b ? TRUE : FALSE); } 정적 팩터리 메서드가 생성자보다 좋은 이유? 1. 이름을 가질 수 있다. 생성자만으로는 반환될 객체의 특성을 정확히 설명하지 못하지만, 메서드 이름을 통해 반환될 객체의 특성을 설명할 수 있다. 하나의 시그니처로는 생성자를 하나만 만들 수 있기 때문에, 하나의 시그니처로 여러 개의 생성자가 필요하다면 정적 팩터리 메서드를 사용하자. 시그니처 : 메서드의.. 2021. 5. 11.