Java의 경우 클래스를 작성할 때, 생성자를 명시하지 않아도 파라미터가 없는 기본 생성자를 자동으로 생성해줌
class TestUtility {
private String name;
// 명시하지 않아도 자동생성 됨
// public TestUtility(){}
}
class Test {
public void test() {
// 정상
TestUtility tc1 = new TestUtility();
}
}
기본 생성자에 private 접근자를 명시함으로 인스턴스 생성을 막아줌
class TestUtility {
private String name;
// 기본 생성자에 private 접근자를 지정함으로 인스턴스 생성을 막게 해줌
private TestUtility(){}
}
class Test {
public void test() {
// 컴파일 에러
TestUtility tc2 = new TestUtility();
}
}
이 외에 싱글턴 패턴 등 다양한 디자인 패턴을 고려해 볼 수 있다.