[JAVA] 정적팩토리메서드(Static Factory Method)란?

2022. 11. 13. 17:18·노빠꾸 개발일지/JAVA
반응형

이번 피드에서는 정적팩토리메서드(Static Factory Method)에 대해 간단히 정리해 보도록하겠습니다.

 

정적팩토리메서드란. 간단히 표현하면 객체를 생성하는 역할을 하는 메서드입니다.

 

객체를 생성하기 위해서는 일반적으로 생성자를 이용하여 생성하는 방식을 많이 알고 사용되고 있습니다.

 

new 키워드를 이용하여 클래스의 객체를 직접 생성하는 방식인데, 정적팩토리메서드를 이용하면 직접 new 키워드를 사용하지 않고 클래스의 객체를 제공받을 수 있습니다.

 

정적팩토리메서드가 객체를 제공해주기때문에, 해당 메서드를 호출하는 것만으로 객체를 제공받을 수 있게 되는 것입니다.

 

정적팩토리메서드의 대표적인 예시로는 Optional의 of가 있습니다.

 

Optional클래스에서 of() 메서드를 이용하여 객체를 전달받을 수 있습니다.

 

of()메서드 내에서 new를 통해 Optional객체를 생성하여 반환해 주고 있어, 직접 new를 통해 객체를 생성해 주지 않고, of()메서드를 호출하기만 해도 Oprional객체를 전달받을 수 있게 됩니다.

 

 

-- 정적팩토리메서드 명명규칙 --

정적팩토리메서드에서 이용되는 일반적인 명명규칙에 대해 간단히 정리해 보겠습니다.

 

from : 매개변수를 하나 받아서 해당 타입의 인스턴스를 반환하는 형변환 메서드

 

of : 여러 매개변수를 받아 적합한 타입의 인스턴스를 반환하는 집계 메서드

 

valueOf : from 과 of의 더 자세한 버전

 

instance / getinstance : 매개변수로 명시한 인스턴스를 반환하지만, 같은 인스턴스임을 보장하지 않는다.

 

create / newInstance : 매번 새로운 인스턴스를 생성해 반환함을 보장한다.

 

getType : 생성할 클래스가 아닌 다른 클래스에 팩터리메스를 정의할 때 쓴다.

 

newType : 생성할 클래스가 아닌 다른 클래스에 팩터리 메서드를 정의할 때 쓴다.

 

 

이번 피드는 여기에서 마무리하겠습니다!

반응형
저작자표시 비영리 변경금지 (새창열림)

'노빠꾸 개발일지 > JAVA' 카테고리의 다른 글

[Java] Optional이란?  (0) 2023.05.30
정적 팩토리 메서드란?  (0) 2023.05.29
부트스트랩 정리 및 참고할 만한 부트스트랩 추천 사이트  (0) 2022.09.18
메이븐(MAVEN) 프로젝트 기본 세팅해보기 - 2  (0) 2022.09.14
메이븐(MAVEN) 프로젝트 기본 세팅해보기 - 1  (0) 2022.09.11
'노빠꾸 개발일지/JAVA' 카테고리의 다른 글
  • [Java] Optional이란?
  • 정적 팩토리 메서드란?
  • 부트스트랩 정리 및 참고할 만한 부트스트랩 추천 사이트
  • 메이븐(MAVEN) 프로젝트 기본 세팅해보기 - 2
No Backing
No Backing
노빠꾸
    300x250
  • No Backing
    누릇한 노빠꾸 블로그
    No Backing
  • 전체
    오늘
    어제
    • 분류 전체보기 (144)
      • 노빠꾸 서버 (20)
        • AWS (0)
        • 설치관련 (7)
        • 명령어 정리 (2)
        • 서버 설정 (8)
        • Nginx (2)
      • 노빠꾸 개발일지 (70)
        • JAVA (16)
        • JQUERY & JAVASCRIPT (10)
        • HTML5 (0)
        • SPRING (16)
        • Design Patterns (1)
        • DAUM API (1)
        • GIT (10)
        • Python (1)
        • SPRING SECURITY (1)
        • Vue (3)
      • 노빠꾸 데이터베이스 (9)
        • SQL (1)
        • ORACLE (3)
        • MySql (5)
      • 노빠꾸 일상 (13)
      • 노빠꾸 책 추천 (4)
      • 노빠꾸 경제 (20)
      • 노빠꾸 맥북 사용기 (7)
      • 노빠꾸 정보처리기사 정리 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    JPA 쿼리 메소드
    우분투 자바 설치
    websecurityconfigureradapter 빈 등록
    WebSecurityConfigurerAdapter
    리눅스 자바 설치
    websecurityconfigureradapter 사용법
    금융용어
    WebSecurityConfigurerAdapter Deprecated
    websecurityconfigureradapter 변경사항
    스프링부트 프로젝트
    스프링부트란
    사이트맵
    맥북 사용 팁
    주식용어
    스프링시큐리티 websecurityconfigureradapter
    MySQL 데이터베이스 생성
    스프링부트
    경제용어
    websecurityconfigureradapter란
    스프링 시큐리티 5.7 버전이후 변경사항
    Spring boot
    Linode
    맥북 단축키
    MySQL 사용자 계정 생성
    개인서버 추천
    스프링부트 JPA
    깃허브 코파일럿
    인텔리제이
    티스토리 사이트맵 등록
    리노드
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
No Backing
[JAVA] 정적팩토리메서드(Static Factory Method)란?
상단으로

티스토리툴바