[JAVA / Design Pattern] 정적 팩토리 메서드 이름 짓기

정적 팩토리 메서드 이름 짓기


정적 팩토리 메서드의 단점 중 하나는 생성자는 다른 메서드와 뚜렷이 구분이 되지만,

정적 팩토리 메서드는 구분이 되지 않다는 점이다.

그래서 정적 팩토리 메서드라는 걸 알려주기위해서 이름을 잘 지어야 하는데,

널리 알려진 이름을 알아볼 것이다.


- valueOf : 단순하게 말하자면, 인자로 주어진 값과 같은 값을 갖는 객체를 반환한다는 뜻이다.

따라서 이런 정적 팩터리 메서드는 형변환 메서드이다.

- of : ValueOf를 더 간단하게 쓴 것이다. EnumSet 덕분에 인기를 모은 이름이다.


- getInstance : 인자에 기술된 객체를 반환하지만, 인자와 같은 값을 갖지 않을 수 있다.

싱글톤(singleton) 패턴을 따를 경우, 이 메서드는 인자 없이 항상 같은 객체를 반환한다.

- newInstance : getInstance와 같지만 호출할 때마다 다른 객체를 반환한다.

- getType : getInstance와 같지만 반환될 객체의 클래스와 다른 다른 클래스에 팩터리 메서드가 있을 때 

사용한다. Type은 팩터리 메서드가 반환할 객체의 자료형이다.

- newType : newInstance와 같지만, 반환될 객체의 클래스와 다른 클래스에 팩터리 메서드가 있을 때 사

용한다. Type은 팩터리 메서드가 반환할 객체의 자료형 이다.

댓글

이 블로그의 인기 게시물

Filter url 제외시키기

[Spring,Java] Validator 구현하기

[Spring] Mock framework에 대하여