- 이름을 가질 수 있다. (동일한 시그니처의 생성자를 두개 가질 수 없다.)
- 생성자의 시그니처가 중복되는 경우에 정적 팩터리 메서드를 고려하면 좋다
package org.example;
public class Order {
private boolean prime;
private boolean urgent;
private Product product;
public static Order primeOrder(Product product){
Order order = new Order();
order.prime = true;
order.product = product;
return order;
}
public static Order urgentOrder(Product product){
Order order = new Order();
order.urgent = true;
order.product = product;
return order;
}
}
용어 정리
시그니처 : 메서드의 이름, 순서, 파라미터를 묶어 이르는 말. 위 같은 경우에는 컴파일 오류가 발생하지만, 재미있게도 둘 중 하나의 생성자의 파라미터 순서만 바뀌어도 컴파일 오류가 발생하지 않는다.
- 메서드명, 순서, 타입이 동일 할 때
- 메서드명, 타입은 동일하나, 순서가 다를 때
'하루 한장 > 이펙티브 자바' 카테고리의 다른 글
아이템 1. 핵심 정리 - 정적 팩터리 메서드의 단점 (0) | 2023.07.25 |
---|---|
아이템 1. 핵심 정리 - 정적 팩터리 메서드의 장점3, 4, 5 (0) | 2023.07.24 |
정적 팩터리 메서드의 장점2 (0) | 2023.07.23 |