TIL(20181004)
by choising
20181004
Java
- 생성자가 여러개인 경우 그 의미가 불명확해 진다.
- static method(factory method)를 통해 의미를 명확히 하고, 그 역할을 대신할 수 있다.
- 생성자를 private 으로 설정한다.
- 해당 class의 factroy method를 사용하여 생성할 것이므로, 외부에서 생성을 하지 못하도록. 2. factory method는 of 키워드를 사용하는게 일반적이다.
- static method(factory method)를 통해 의미를 명확히 하고, 그 역할을 대신할 수 있다.
public calss Point {
private int x;
private int y;
private Point(int x, int y){
this.x = x;
this.y = y;
}
public static Point of(int x, int y){
return new Point(x, y);
}
public static Point ofComma(String text){
String[] xy = text.split(",");
return new Point(Integer.parseInt(xy[0]), Integer.parseInt(xy[1]));
}
}
- 데이터의 유효성을 검증할 때, 생성자에서 검증하는 것이 안전하다.
- 생성자에서는 예외처리 로직이 없고, 외부에서 예외처리 로직을 구현하여 유효한 값을 던지는 경우.
- 어떤 방법이든 만약 예외처리 로직을 건너 뛸 경우 언제든지 유효하지 않은 값으로 생성된 인스턴스가 생성될 수도 있다.
Subscribe via RSS