[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
Felix.kim
Felix.kim
    300x250
  • Felix.kim
    Felix Dev
    Felix.kim
  • 전체
    오늘
    어제
    • 분류 전체보기 (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)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바