클래스의 인스턴스가 딱 1개만 생성되는 것을 보장하는 디자인 패턴이다. 그래서 객체 인스턴스를 2개 이상 생성하지 못하도록 막아야 한다. → private 생성자를 사용해서 외부에서 임의로 new 키워드를 사용하지 못하도록 막아야 한다. 스프링 없이. 싱글톤 패턴을 사용하지 않고 public class SingletonTest { @Test @DisplayName("스프링 없는 순수한 DI 컨테이너") void pureContainer() { AppConfig appConfig = new AppConfig(); //1. 조회: 호출할 때마다 객체를 생성 //-> 메모리 낭비가 심함 //-> 싱글톤 패턴을 통해 해당 객체가 1개만 생성되고, 공유하도록 설계하면 된다. MemberService memberS..