이 패턴을 쓰는 의도는 서비스를 구현한 구체 클래스는 숨긴 채로 어디에서나 서비스에 접근할 수 있게 하기 위함이다. 무슨 말인지는 알아보도록 하자 객체나 시스템 중에서는 거의 모든 코드에서 사용되는 것들이 있다. 게임 코드 중에서 메모리 할당, 로그, 난수 생성을 쓰지 않는 곳을 찾아보기는 어렵다. (패턴을 쓰게 되는 계기) 이런 시스템은 게임 전체에서 사용 가능해야 하는 일종의 서비스라고 할 수 있다. 예를 들자면 오디오 시스템 같은 경우도 메모리 할당같은 저수준까지는 아니지만 여러 게임 시스템과 연결되어 있다. (당연히 소리가 날만한 동작들은 무지하게 많다.) 돌이 굴러 떨어지는 소리라든가, 총을 쏘는 소리라든가, 사용자가 인터페이스를 조작한다는 등 많은 시스템과 연관되어 있다. 즉, 이런 코드에서는..