디자인 패턴이란 자주 사용하는 설계 형태를 정형화해서 이를 유형별로 설계 템플릿을 만들어둔 것을 말한다. 디자인 패턴을 사용하면 효율성과 재사용성을 높일 수 있다. 디자인 패턴으로 만들려면 유사한 프로젝트를 수행하면서 적용한 설계 노하우를 분류하여 정리하고 이름을 붙여, 나중에 초보자도 쉽게 재사용할 수 있도록 사용 지침 등도 포함하여 저장해놓아야 한다. 디자인 패턴은 알고리즘처럼 프로그램 코드로 변환하여 바로 사용할 수 있는 것은 아니지만 유사한 상황에서 구조적인 문제를 해결할 수 있는 방안을 제시해준다. 결국 디자인 패턴은 많은 개발자들이 경험으로 체득한 설계 지식을 검증하고 이를 추상하여 일반화한 템플릿이다. 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있..