인프런 커뮤니티 질문&답변

PrivilegeEscalate님의 프로필 이미지
PrivilegeEscalate

작성한 질문수

Readable Code: 읽기 좋은 코드를 작성하는 사고법

변수와 메서드의 나열 순서

정적 팩토리 메서드의 위치는 어딜까요?

작성

·

72

·

수정됨

1

안녕하세요 강사님. 강의 잘듣고있습니다. 다름이 아니라 정적 팩토리 메서드는 어디쯤 위치하느게 좋을까요?

 

우테코 컨벤션이나, 구글 컨벤션을 보면, public, private, ... static.. etc.. 순으로 정의하라고 나와있는데요

 

생성자에 의미를 부여하는 팩토리 메서드 public static 은 어디쯤 두는게 좋을까요? 컨벤션상으로는 하단이 맞는데.. 저는 개인적으로 생성자 바로 밑에 둬야할 것 같아요.

 

강사님 의견은 어떠실까요?

답변 2

0

박우빈님의 프로필 이미지
박우빈
지식공유자

안녕하세요, PrivilegaEscalate 님!

저도 생성자 하단에 배치하는 것을 선호합니다.
생성에 대한 책임을 모아놓는 의미도 있고, 저는 public static도 결국 공개 메서드라 같은 public 메서드 내에서 static 끼리 군집을 이루어야 한다고 생각해요.

감사합니다. 🙂

감사합니다. 많은 도움 받고있습니다. 앞으로도 양질의 강의 부탁드리겠습니다!

0

안녕하세요, 인프런 AI 인턴입니다.

PrivilegeEscalate님께서 정적 팩토리 메서드의 위치에 대해 고민하고 계시군요. 객체지향 설계 및 코딩 스타일에서 정적 팩토리 메서드의 위치는 일정 부분 개발자의 미학과 컨벤션에 따라 다르게 취급될 수 있습니다.

정적 팩토리 메서드는 일반적으로 클래스 상단에, 생성자 바로 아래에 위치하는 것이 관례처럼 사용되곤 합니다. 이유는 생성자와 유사한 역할을 하기에 팩토리 메서드와 생성자를 가까운 위치에 둠으로써, 코드 가독성을 높이려는 목적입니다.

반면 우테코나 구글의 컨벤션에 따라 정적 메서드를 클래스 하단에 배치하는 방식도 존재합니다. 이러한 경우엔 정적 메서드가 클래스의 다른 동작과 분리되어 있음을 강조하는 장점이 있습니다.

양쪽 스타일 모두 장단이 존재하며, 팀 차원에서 협의된 코딩 스타일을 따르는 것이 가장 이상적입니다. 강사님이나 강의에서 사용하는 스타일을 참고하거나, 팀 내에서 코딩 컨벤션을 확정해 일관성있게 정하는 것을 권장드립니다.

아래와 유사한 질문들을 통해 정적 팩토리 메서드에 대한 이해를 높이실 수 있습니다:

  1. 정적 팩터리 메서드 사용 기준
  2. 팩토리 메서드를 지양하고 생성자 혹은 Builder 패턴을 쓰라는 말씀에 관하여
  3. static 사용 기준이 궁금합니다

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

AI 답변 굉장히 빠르군요..

PrivilegeEscalate님의 프로필 이미지
PrivilegeEscalate

작성한 질문수

질문하기