본문 바로가기

생성자2

Effective Java 아이템 2. 생성자에 매개변수가 많다면 빌더를 고려하라 Effective Java 3판을 학습하며 요약한 내용입니다. 자세한 내용은 책을 참고해주시기 바랍니다. 정적 팩터리와 생성자는 선택적 매개변수가 많을 경우에 적절하게 대응하게 어렵다는 제약이 있다. 특정 클래스에 선택 항목이 많은 경우가 있다. 예를 들어 식품 포장의 영양정보를 표현하는 클래스를 생각해보자. 영양정보 클래스 NutritionFacts는 1회 내용량, 트랜스지방, 포화지방, 콜레스테롤 등 20개가 넘는 선택 항목을 갖고 있다. 대부분의 제품은 이 선택 항목 중 대다수의 값은 기본값인 0이다. 각각의 제품은 항목의 모든 값을 대부분 사용하지 않는다. 점층적 생성자 패턴 이러한 클래스의 경우 대부분의 개발자들이 점층적 생성자 패턴(telescoping constructor pattern)을 .. 2019. 4. 4.
Effective Java 아이템 1. 생성자 대신 정적 팩터리 메서드를 고려하라 Effective Java 3판을 학습하며 요약한 내용입니다. 자세한 내용은 책을 참고해주시기 바랍니다. 클라이언트가 클래스의 인스턴스를 얻는 전통적인 수단은 public 생성자이다. 클래스는 생성자와 별도로 정적 팩터리 메서드(static factory method)를 제공할 수 있다. 다음 코드는 Boolan 클래스에서 발췌한 예이다. valueOf 메서드는 기본 타입 boolean 값을 받아서 Boolean 객체 참조를 반환한다. public static Boolean valueOf(boolean b) { return b ? Boolean.TRUE : Boolean.FALSE; } 정적 팩터리 메서드가 생성자보다 좋은 장점은? 장점 1. 이름을 가질 수 있다 생성자에 넘기는 매개변수와 생성자 자체만.. 2019. 4. 4.