객체지향 설계 안에 존재하는 세가지 상호 연관 관점 1. 개념관점 - 설계는 도메인 안에 존재하는 개념과 개념들 사이의 관계를 표현한다. - 실제 도메인의 규칙과 제약을 최대한 코드에 유사하게 반영해야 한다. 2. 명세관점 - 사용자의 영역인 도메인을 벗어나 개발자의 영역인 소프트웨어로 초점이 옮겨진다. - 객체가 협력을 위해 무엇을 할 수 있는가에 초점을 맞춘다. 3. 구현관점 - 객체의 책임을 어떻게 수행할 것인가에 초점을 맞추어 인터페이스를 구현하는 데 필요한 속성과 메서들을 클래스에 추가한다. 이 세가지 관점대로 순서대로 개발하는 것이 아닌 클래스를 세 가지 다른 방향에서 바라보는 관점이 중요하다. 클래스는 세 가지 관점을 모두 수용할 수 있도록 개념, 인터페이스, 구현을 함께 드러내야 하며, 동..