static 메서드로 객체 생성을 캡슐화한다.
객체 생성을 캡슐화하는 기법이다.
좀 더 구체적으로는 객체를 생성하는 메소드를 만들고, static으로 선언하는 기법이다.
자바로 코딩할 때 흔하게 볼 수 있는 valueOf 메서드가 정적 팩토리 메서드의 한 예라 할 수 있다. [출처]https://johngrib.github.io/
장점
1. 이름이 있으므로 생성자에 비해 가독성이 좋다.
2. 호출할 때마다 새로운 객체를 생성할 필요가 없다.
3. 하위 자료형 객체를 반환할 수 있다.
4. 형인자 자료형(parameterized type) 객체를 만들 때 편하다.
단점
1. 정적 팩토리 메서드만 있는 클래스라면, 생성자가 없으므로 하위 클래스를 못 만든다.
2. 정적 팩토리 메서드는 다른 정적 메서드와 잘 구분되지 않는다. (문서만으로 확인하기 어려울 수 있음)
SpringBoot에서 DTO를 생성할 때 @Setter 사용을 최소화 하기 위한 방법으로 공부중에 있으며, 다음 업데이트를 통해 @Builder를 사용한 빌더패턴과 기존의 방식을 비교해서 작성할 예정!!!!
p.s 여러가지 일정이 많아서 오랜만에 작성하는 글이나 낯설지만 다시 시작!!!