728x90
불필요한 객체 생성을 막는 방법: PRIVATE 생성자 활용하기
자바에서는 클래스의 인스턴스화를 막기 위해 `private` 생성자를 사용할 수 있습니다. 이렇게 함으로써 해당 클래스의 인스턴스를 직접 생성하지 못하도록 제한할 수 있습니다. 이러한 기법은 주로 유틸리티 클래스나 상수 클래스와 같이 인스턴스화할 필요가 없는 클래스에서 사용됩니다.
인스턴스화를 막으면 다음과 같은 이점을 얻을 수 있습니다.
- 불필요한 객체 생성 방지
클래스가 인스턴스화되지 않으면 해당 클래스의 객체를 생성할 필요가 없어집니다. 이는 자원 낭비를 방지하고 성능을 향상시킵니다. - 상속을 방지
클래스를 final로 선언하지 않아도 인스턴스화를 막음으로써 상속을 통한 오버라이딩을 방지할 수 있습니다. - 코드의 명확성
생성자를 private으로 선언함으로써 클래스의 목적이 명확해지고, 클래스가 인스턴스화되지 않아야 함을 명시적으로 표현할 수 있습니다.
public class UtilityClass {
// ✨ 기본 생성자를 private으로 선언하여 외부에서의 인스턴스화를 막음
private UtilityClass() {
// ✨ 클래스 내부에서도 인스턴스화를 방지하기 위한 예외처리
throw new AssertionError();
}
// 유틸리티 메서드 1
public static void doSomething1() {
// 작업 수행
}
// 유틸리티 메서드 2
public static void doSomething2() {
// 작업 수행
}
}
728x90