[Java] 객체 인스턴스 생성 막는 방법 :: private 생성자

동민·2022년 1월 18일
0

Java의 경우 클래스를 작성할 때, 생성자를 명시하지 않아도 파라미터가 없는 기본 생성자를 자동으로 생성해줌

class TestUtility {
    private String name;

    // 명시하지 않아도 자동생성 됨
    // public TestUtility(){}
}

class Test {
    public void test() {
        // 정상
        TestUtility tc1 = new TestUtility();
    }
}

객체 인스턴스 생성 막는 방법 :: private 생성자

기본 생성자에 private 접근자를 명시함으로 인스턴스 생성을 막아줌

class TestUtility {
    private String name;

    // 기본 생성자에 private 접근자를 지정함으로 인스턴스 생성을 막게 해줌
    private TestUtility(){}
}

class Test {
    public void test() {
        // 컴파일 에러
        TestUtility tc2 = new TestUtility();
    }
}

이 외에 싱글턴 패턴 등 다양한 디자인 패턴을 고려해 볼 수 있다.

profile
BE Developer

0개의 댓글