본문 바로가기
실전 tip

불필요한 객체 생성을 막는 방법: PRIVATE 생성자 활용하기

by 제이동 개발자 2024. 1. 27.
728x90

불필요한 객체 생성을 막는 방법: PRIVATE 생성자 활용하기

 

 자바에서는 클래스의 인스턴스화를 막기 위해 `private` 생성자를 사용할 수 있습니다. 이렇게 함으로써 해당 클래스의 인스턴스를 직접 생성하지 못하도록 제한할 수 있습니다. 이러한 기법은 주로 유틸리티 클래스나 상수 클래스와 같이 인스턴스화할 필요가 없는 클래스에서 사용됩니다.

 

인스턴스화를 막으면 다음과 같은 이점을 얻을 수 있습니다.

  1. 불필요한 객체 생성 방지
    클래스가 인스턴스화되지 않으면 해당 클래스의 객체를 생성할 필요가 없어집니다. 이는 자원 낭비를 방지하고 성능을 향상시킵니다.
  2. 상속을 방지
    클래스를 final로 선언하지 않아도 인스턴스화를 막음으로써 상속을 통한 오버라이딩을 방지할 수 있습니다.
  3. 코드의 명확성
    생성자를 private으로 선언함으로써 클래스의 목적이 명확해지고, 클래스가 인스턴스화되지 않아야 함을 명시적으로 표현할 수 있습니다.
public class UtilityClass {
    // ✨ 기본 생성자를 private으로 선언하여 외부에서의 인스턴스화를 막음
    private UtilityClass() {
        // ✨ 클래스 내부에서도 인스턴스화를 방지하기 위한 예외처리
        throw new AssertionError();
    }
    
    // 유틸리티 메서드 1
    public static void doSomething1() {
        // 작업 수행
    }
    
    // 유틸리티 메서드 2
    public static void doSomething2() {
        // 작업 수행
    }
}

 

 

 

728x90