Programming Language/Java

정적 팩토리 메소드와 생성자 모두 매개변수가 많이 필요한 경우에 적절히 대응하기 어렵다. 해결책 1: 생성자 점층적 생성자 패턴(Telescoping Constructor Pattern)은 필수 매개변수와 함께 선택 매개변수를 0개, 1개, 2개 .. 받는 형태로, 우리가 다양한 매개변수를 입력받아 인스턴스를 생성하고 싶을때 사용하던 생성자를 오버로딩 하는 방식이다. public class NutritiaonFacts { private final int servingSize; // 필수 private final int servings; // 필수 private final int calories; private final int fat; private final int sodium; private fina..
인스턴스를 얻는 전통적인 방법은 public과 같은 생성자를 이용하는 방법이 있는데, 아래 메서드처럼 정적(static)메서드로 인스턴스를 얻을 수 있다. 이런 방법에는 각각 장단점이 있는데 다음과 같다. 장점 1: 이름을 가질 수 있다. 생성자에 넘기는 매개변수와 생성자 자체만으로는 반환될 객체의 특성을 제대로 설명하지 못한다. 또한 생성자로 넣을 때는 선언된 순서와 다르게 넣을 수 있는데 이는 좋지 않은 방식이다. 반면 정적 팩터리는 이름만 잘 지으면 반환될 객체의 특성을 쉽게 묘사할 수 있다. 그리고 시그니처로는 생성자를 하나만 만들 수 있다. 똑같은 타입을 파라미터로 받는 생성자 두개를 만들 수 없으니까 그런 경우에도 정적 팩토리 메소드를 사용하는것이 유용하다. public class Foo { ..
생성자에서 인자가 많을 때 고려해볼 수 있는 패턴이다. 해당 패턴을 정리하기에 앞서 점층적 생성자 패턴에 대해 먼저 얘기해보자 점층적 생성자 패턴(Telescoping Constructor Pattern)이란? 클래스를 설계할 때 필수 인자가 있고, 선택적으로 받아야할 인자가 있다. 이 특징 때문에 해당 패턴은 아래와 같은 단점을 가지고 있다. 인자들이 많아질수록 생성자가 많아짐 어떤 객체에 어떤 인자가 들어가는지 확인하기 어렵다. 아래와 같은 클래스가 있다고 가정하자 public class PersonInfo{ private String name; //필수적으로 받야할 정보 private int age; //선택적으로 받아도 되는 정보 private int phonNumber; //선택적으로 받아도 되..
JDK 14?부터 도입되었으며, 데이터 클래스이며, 순수하게 데이터를 보유하기 위한 클래스이다. 기존에는 Dto 또는 Entity를 아래와 같이 설정했다. 익숙할 수도 있겠지만, 길다는 생각이 들지 않나? 라고 할뻔 ㅋ😶 public class SampleRecord { private final String name; private final Integer age; private final Address address; public SampleRecord(String name, Integer age, Address address) { this.name = name; this.age = age; this.address = address; } public String getName() { return nam..
cozyong_dev
'Programming Language/Java' 카테고리의 글 목록 (3 Page)