싱글톤 패턴

어플리케이션이 시작될 때 어떤 클래스가 **최초 한번만 메모리를 할당**하고 그 메모리에 인스턴스를 만들어 사용

하나의 인스턴스를 메모리에 등록해서 여러 쓰레드가 동시에 해당 인스턴스를 공유하여

사용할 수 있기 때문에 요청이 많은 곳에서 사용하면 효율을 높일 수 있음


싱글톤 패턴의 장점

싱글톤 패턴의 단점


예시

public class UserExistException extends CustomException {

    public static final CustomException EXCEPTION =
            new UserExistException(); // static으로만 객체 생성

    private UserExistException() { // 딱 1개만 생기는걸 보장하기 위해
                                  // 생성자를 private으로 둔다
        super(ErrorCode.USER_EXIST);
    } // 이러면 외부에서 new 키워드를 통해 객체 생성 불가능
}

이렇게 호출이 많은 Exception 클래스를 static으로 선언해주어 메모리를 아낄 수 있다