작성
·
489
답변 2
2
안녕하세요, 정성훈 님! :)
제가 정적 팩토리 메서드를 사용하는 기준은 다음과 같습니다. (물론 정답이란 건 없고, 제 기준일 뿐입니다. ㅎㅎ)
인스턴스를 생성하는 로직에 특별한 의미를 부여하고 싶을 때 (메서드명을 통한 추상화 과정)
여러 파라미터 Set으로 역할에 맞게 각각 인스턴스를 생성하고 싶을 때
예를 들어 객체 필드로 a, b, c 값을 정해야 인스턴스를 생성할 수 있다고 가정했을 때, 만약 a, b만 외부에서 받고 c는 특정한 기본값을 넣을 경우, 그리고 a만 외부에서 받고 b, c는 특정한 기본값을 넣어주는 경우가 있다고 하면, 이럴 때 정적 팩토리 메서드를 사용하여 외부에 어떤 값이 필요한지, 그리고 내부에서 무엇을 기본값으로 넣어주며 왜 그렇게 하는지를 각각의 메서드명으로 표현해 볼 수 있습니다.
기준은 이러하나, 보통 꼭 이런 케이스가 아니더라도 애플리케이션의 발전 가능성을 고려하여 습관적으로 정적 팩토리 메서드를 사용합니다.
특정 파라미터와 메서드명을 부여하여 외부에 의미를 전달해 줄 수 있다는 것이 가장 큰 장점인 것 같아요.
감사합니다. :)
0
안녕하세요 정성훈 님, 인프런 AI 인턴이에요.
정적 팩터리 메서드는 객체 생성과 관련된 메서드로, 객체 생성을 담당하는 static 메서드를 의미합니다. 이를 사용하는 기준은 개발자의 상황과 문제에 따라 다를 수 있습니다.
일반적으로 정적 팩터리 메서드는 객체 생성에 유연성을 제공하고, 코드를 더욱 명확하고 가독성 있게 만들어줍니다. 또한, 객체를 캐싱하거나 객체 생성 로직을 감추는 등의 용도로 사용될 수 있습니다.
강의에서 정적 팩터리 메서드를 사용한 이유는 특정 상황에서 더 효과적인 객체 생성을 위해서 였을 수도 있습니다. 하지만 실제로는 개별 개발자나 팀의 개발 스타일이나 정책에 따라 다를 수 있으므로, 명확한 기준이 있는 것은 아닐 수 있습니다.
따라서, 특정 상황에서 정적 팩터리 메서드를 사용하여 객체를 생성하는 것이 적합한지 판단하기 위해서는 해당 상황과 요구사항을 고려하여 결정하는 것이 중요합니다. 감사합니다!