이번 피드에서는 정적팩토리메서드(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 |