public 생성자를 보고합니다.

일부 코딩 표준에서는 public 생성자의 사용을 지양하고 static factory 메서드를 사용하도록 권장합니다. 이 방식을 사용하면 호출 사이트에 영향을 미치지 않고도 구현을 교체할 수 있습니다.

예:


  class Test {
    private String name;

    public Test(String name) {
        this.name = name;
    }

    public void test() {
        System.out.println(name);
    }

    public static void main(String[] args) {
        new Test("str").test();
    }
  }

빠른 수정을 적용한 후:


  class Test {
    private String name;

    private Test(String name) {
        this.name = name;
    }

    public static Test getInstance(String name) {
        return new Test(name);
    }

    public void test() {
        System.out.println(name);
    }

    public static void main(String[] args) {
        getInstance("str").test();
    }
  }