프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 ‘규약’ 형태로 만들어 놓은 것을 의미
하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴
TDD에 걸림돌이 될 수