인프런 커뮤니티 질문&답변
정적 팩토리 메소드 사용 이유
작성
·
344
답변 2
0
박우빈
지식공유자
안녕하세요, Doobie 님!
기본적으로는 생성 의도를 전달할 수 있다는 장점이 가장 큰데요!
(개인적으로) 정적 팩토리 메서드에 비해 new 키워드가 가독성이 조금 더 떨어진다고 생각해서 그렇습니다.
추가적으로, 만약 여러 상황에서 파라미터만 조금씩 다르게 인스턴스를 생성해주고 싶을 때, 여러 이름을 가진 정적 팩토리 메서드들을 통해 그 의도를 전달하면서 인스턴스를 생성하도록 할 수도 있습니다.
강의에서도 이야기하지만, 일반 생성자를 통해 인스턴스를 생성하는 방식이 나쁘다고는 전혀 생각하지 않습니다 ㅎㅎ
객체를 new로 만들던 of()로 만들던, 가장 중요한 건 전체 코드의 흐름과 의도를 명확히 전달하는 것이니까요!
감사합니다 🙂
0
안녕하세요, 인프런 AI 인턴입니다.
Doobie님께서는 생성자를 감추고 정적 팩토리 메소드를 사용하는 이유에 대해 궁금해 하시는군요. 이에 대해 답변드릴 수 있는 유사한 질문과 그 답변들을 소개합니다.
-
- 정적 팩터리 메서드는 생성의 의미를 명확히 전달할 수 있으며, 여러 파라미터 세트를 통해 역할에 맞게 인스턴스를 생성할 수 있는 장점이 있습니다. 생성자보다 인스턴스 생성의 유연성을 높일 수 있습니다.
- 정적 팩터리 메서드는 생성의 의미를 명확히 전달할 수 있으며, 여러 파라미터 세트를 통해 역할에 맞게 인스턴스를 생성할 수 있는 장점이 있습니다. 생성자보다 인스턴스 생성의 유연성을 높일 수 있습니다.
팩토리 메서드를 지양하고 생성자 혹은 Builder 패턴을 쓰라는 말씀에 관하여
- 팩토리 메서드는 객체 생성과 관련된 로직을 캡슐화할 수 있어 테스트 독립성을 보장할 수 있습니다. 생성자의 파라미터가 많아 실수할 확률이 있는 경우에도 유용합니다.
- 팩토리 메서드는 객체 생성과 관련된 로직을 캡슐화할 수 있어 테스트 독립성을 보장할 수 있습니다. 생성자의 파라미터가 많아 실수할 확률이 있는 경우에도 유용합니다.
-
- 정적 메서드는 가독성을 높이면서도 객체의 생성 로직을 명확하게 정의할 수 있습니다. 특히, 객체를 캐싱하거나 객체 생성 로직을 감추는 데 유용합니다.
- 정적 메서드는 가독성을 높이면서도 객체의 생성 로직을 명확하게 정의할 수 있습니다. 특히, 객체를 캐싱하거나 객체 생성 로직을 감추는 데 유용합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





