객체지향 설계 과정 제공해야 할 기능을 찾고 세분화 한다. 그리고 그 기능을 알맞은 객체에 할당한다. 기능을 구현하는 데 필요한 데이터를 객체에 추가한다. 그 데이터를 이용하는 기능을 넣는다. 기능은 최대합 캡슐화하여 구현한다. 객체 간에 어떻게 메소드 요청을 주고받을 지 결정한다. 객체지향 설계 원칙 SOLID 라고 부르는 5가지 설계 원칙이 존재한다. SRP(Single Responsibility) - 단일 책임 원칙 클래스는 단 한개의 책임을 가져야 한다. 클래스는 변경하는 이유는 단 한개여야 한다. 이를 지키지 않으면 한 책임의 변경에 의해 다른 책임과 관련된 코드에 영향이 갈 수 있다. OCP(Open-Closed) - 개방 폐쇄 원칙 확장에는 열려있어야 하고, 변경에는 닫혀 있어야 한다. 기능..