Singleton : 객체는 하나만 존재해야하는 것1. static 영역에 객체 1개만 미리 생성2. public으로 열어서 객체 인스턴스가 필요 시 static method를 통해서만 조회하도록 허용3. 생성자를 private로 선언 --> 외부에서 new 키워드 사용한 객체 생성을 못하게 막음 따라서 객체는 미리 1개만 만들어두고, 새로운 객체를 만드는 것을 방지.getInstance()를 통해 객체를 조회하게끔 하여 모든 사용자가 동일한 객체를 이용하도록 함 * 단점- 클라이언트가 구체 클래스에 의존 --> DIP, OCP 위반- 테스트가 어려움- 내부 속성의 변경이나 초기화가 어려움- private 생성자로 자식 클래스 만들기 어려움------> 유연성이 떨어짐 이러한 단점들을 보완하기 위해..