5.1.1 싱글톤 빈의 작동 방식
싱글톤 스코프의 빈을 관리하는 스프링 동작에서 시작해 보자. 특히 싱글톤은 스프링에서 가장 많이 사용되는 기본 빈 스코프이므로 이 스코프를 사용할 때 무엇을 기대할 수 있는지 알아야 한다. 이 절에서는 스프링 동작을 쉽게 이해할 수 있도록 작성한 코드와 스프링 컨텍스트 사이의 연결 고리를 설명한 후 몇 가지 예제를 통해 동작을 테스트해 볼 것이다.
스프링은 컨텍스트를 로드할 때 싱글톤 빈을 생성하고 빈에 이름(빈 ID라고도 함)을 할당한다. 특정 빈을 참조할 때 항상 동일한 인스턴스를 얻기 때문에 이 스코프 이름을 싱글톤이라고 한다. 하지만 스프링 컨텍스트에서 이름이 다른 경우 동일한 타입의 인스턴스를 더 많이 가질 수 있음에 유의해야 한다. 이 부분을 강조하는 이유는 여러분이 과거에 이미 ‘싱글톤(singleton)’ 디자인 패턴을 알고 있고 사용했을 가능성이 있기 때문이다. 싱글톤 디자인 패턴을 모른다면 혼동할 염려가 없으므로 다음 단락을 건너뛰어도 된다.