
⇒ 리소스를 많이 잡아먹을 때 인스턴스를 하나만 만든다.
1.이유
인스턴스를 여러 개 만들면 메모리, CPU 리소스 낭비
(예: DB 연결 객체, 스레드 풀, 로그 객체 등)
프로그램 전체에서 공용으로 쓰는 객체라면 굳이 매번 new 할 필요 없음
한 번만 만들어 놓고 계속 쓰면 메모리 절약 + 성능 향상
2.특징
하나의 객체만 존재
생성자를 private으로 막아서 외부에서 new 못하게 함
어디서든 동일한 인스턴스 접근 가능
보통 static 메서드(getInstance())로 가져옴
멀티스레드 환경에서는 동기화 처리 필수
안 그러면 동시에 여러 스레드가 new 해버릴 수 있음

싱글톤(Singleton) 패턴
프로그램 전체에서 오직 하나의 객체만 생성해서 공유하고 싶을 때 사용하는 패턴

private static 필드 특징