정적 팩토리 메서드를 사용하는 이유

Red Culture·2021년 8월 2일

정적 팩토리 메서드란

직접적으로 생성자를 통해 객체를 생성하는 것이 아닌 메서드를 통해서 객체를 생성하는 것이다.

정적 팩토리 메서드를 사용하는 이유

1) 메서드 이름에 객체 생성 목적을 표현할 수 있어 가독성이 높아진다.
2) 호출할 때마다 새로운 객체를 생성할 필요가 없다.
-> 불변 객체인 경우 인스턴스를 미리 만들어 놓거나 새로 생성한 인스턴스를 캐싱해서 재활용하고 있다.
3) 반환 타입의 하위 자료형 객체를 반환할 수 있다.
-> 생성자의 역할을 하는 정적 팩토리 메서드가 반환값을 가질 수 있다. 그렇기 때문에 반환 타입의 하위 타입이기만 하면 어떤 클래스의 객체를 반환해도 상관없다.
4) 객체 생성을 캡슐화 할 수 있다.
(생성자를 사용하면 DTO 변환을 위해 getter를 호출하지만, 정적 팩토리 메서드의 경우 메서드만 호출하면 된다.)

*참고 자료
https://velog.io/@ljinsk3/%EC%A0%95%EC%A0%81-%ED%8C%A9%ED%86%A0%EB%A6%AC-%EB%A9%94%EC%84%9C%EB%93%9C%EB%8A%94-%EC%99%9C-%EC%82%AC%EC%9A%A9%ED%95%A0%EA%B9%8C
https://it-mesung.tistory.com/184

profile
자기 개발, 학습 정리를 위한 블로그

0개의 댓글