SeouliteLab

[Java/자바] private 생성자를 사용하는 이유 본문

프로그래밍

[Java/자바] private 생성자를 사용하는 이유

Seoulite Lab 2024. 3. 9. 01:04

private 생성자는 해당 클래스의 인스턴스 생성을 제한하는데 사용됩니다. 이를 통해 클래스의 인스턴스화를 제어하고, 객체의 불변성과 안전성을 보장할 수 있습니다. 아래에서는 private 생성자를 사용하는 이유에 대해 설명하고, 예제를 통해 이를 더 자세히 살펴보겠습니다.

1. private 생성자 사용 이유

private 생성자를 사용하는 이유는 다음과 같습니다:

  • 인스턴스 생성을 제한하여 클래스의 싱글톤 패턴을 구현할 수 있습니다.
  • 유틸리티 클래스의 경우, 인스턴스 생성을 막고 정적 메서드만을 제공할 수 있습니다.
  • 상속을 방지하여 클래스의 불변성과 안전성을 보장할 수 있습니다.

2. 예제

다음은 private 생성자를 사용하여 싱글톤 패턴을 구현하는 예제입니다.


public class Singleton {
    // 정적 변수로 유일한 인스턴스를 저장합니다.
    private static Singleton instance;
    
    // private 생성자로 외부에서 인스턴스 생성을 막습니다.
    private Singleton() {}
    
    // 인스턴스를 반환하는 정적 메서드입니다.
    public static Singleton getInstance() {
        // 인스턴스가 없는 경우에만 생성합니다.
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }
}