객체지향 설계 안에 존재하는 3가지 상호 연관된 관점동일한 클래스를 세 가지 다른 방향에서 바라보는 것을 의미함1은 클래스, 2는 인터페이스, 3은 속성과 메서드를 반영한다.클래스는 세 관점을 모두 수용할 수 있도록 개념, 명세, 구현을 함께 드러내야 함동시에 코드 안에서 세 관점을 쉽게 식별할 수 있도록 깔끔하게 분리해야 함-> 세 관점을 나눠 설계하면 유지보수와 확장에 강한 코드를 만들 수 있음. 개념을 분명히 하는 건 당연하고, 인터페이스 중심으로 설계하면 구현이 바뀌어도 협력 관계가 유지되고 외부 코드가 바뀌지 않으므로 1. 개념 관점(Conceptual Perspective) :설계는 도메인 안에 존재하는 개념과 개념들 사이의 관계를 표현실제 도메인 규칙과 제약을 최대한 유사하게 반영하는 것이 ..