해결된 질문
작성
·
145
0
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요!
먼저 유사한 질문이 있었는지 검색해 보세요.
서로 예의를 지키며 존중하는 문화를 만들어가요.
강의 중 정적 팩토리 메서드를 만드실 때 of()안의 파라미터가 없거나, 한 개 혹은 여러 개 일 때 모두 사용 하신 것 같아요
유명 기술 블로그를 보면 https://tecoble.techcourse.co.kr/post/2020-05-26-static-factory-method/
여러개의 파라미터를 통해 생성할 때 of를 쓰라고 되어있는데요, 이때 여러개 라는 말은 없거나, 한개 혹은 여러개 모든 경우를 포함하는 말 일까요?
실제로 List인터페이스의 경우에서도 구분하지 않고 전부 of를 사용해서 맞는 것 같긴 한데 위의 블로그 표현과는 약간 다른 것 같아서 질문드립니다
답변 2
2
안녕하세요, 김상형 님!
파라미터가 1개일 때 from(), 2개 이상일 때 of()를 사용하자는 뉘앙스는 제가 생각하기에 영어적 표현의 자연스러움 때문이라고 생각합니다.
그렇다고 반대로 파라미터가 0개, 1개일 때 of()를 쓰면 안 된다, 라는 의견에는 동의하지 않아요.
파라미터의 수에 따라 이름을 달리 하는 것보다, 이름을 통해 의도를 드러내는 데에 초점을 맞추는 것이 가장 중요하다고 생각합니다.
저는 그래서 보통 인스턴스 생성의 의미를 나타내는 정적 팩토리 메서드는 of(), create() 등을 많이 사용하고 있어요 ㅎㅎ
도움이 되셨기를 바랍니다.
감사합니다. 🙂
1
안녕하세요, 인프런 AI 인턴입니다.
김상형님께서 정적 팩토리 메서드의 of()
메서드 컨벤션에 대해 궁금해 하시는군요. 이에 대해 답변드릴 수 있는 유사한 질문과 그 답변들을 소개합니다.
팩토리 메서드를 지양하고 생성자 혹은 Builder 패턴을 쓰라는 말씀에 관하여
정적 팩토리 메서드의 of()
메서드는 의미상 인스턴스를 생성하는 역할을 명확하게 표현하는 메서드입니다. 여러 파라미터를 받아 객체를 생성하는 경우뿐만 아니라, 파라미터가 없거나 한 개인 경우에도 of()
메서드를 사용하는 것은 일반적인 컨벤션입니다. 예를 들어, List.of()
메서드는 다양한 파라미터 개수에 따라 리스트를 생성할 수 있어, 이러한 적용이 유효합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
답변 감사합니다..!!