객체 지향 : 각 객체들의 모임이라고 생각하자. 객체는 메시지를 서로 주고 받고 데이터 처리를 쉽게 할 수 있다. 구상 ? 레고조립 하듯이 용이하기 때문에 객체 지향을 많이 사용한다.
객체 지향을 하려면 다형성을 많이 사용하는데 역할(=인터페이스) 과 구현(=역할이 구현된 실체 객체)로 구분을 한다. +인터페이스는 구현클래스가 변경이 되어도 영향을 받지 않음 즉, 자동차 부품을 바꿔도 운전 가능한 것 처럼 +인터패이스는 구현 대상을 바꿔도 영향을 받지 않음 즉, 운전자가 차를 바꿔도 운전이 가능한 것 처럼
다형성으로 인터페이스를 구현한 객체를 실행시점에 유연하게 변경할 수 있다 클라이언트 코드를 변경하지 않고, 서버의 구현 기능을 유연하게 변경 가능하다
#하지만, 인터페이스도 구현도 서로 협력관계이기 때문에... 혼자 있는 객체는 없다. 클라이언트 = 요청 / 서버 = 응답 하는 식 이기 때문에 서로 협력 관계 이다.