스프링/1. 스프링 핵심 원리

2강. 좋은 객체지향 프로그래밍이란?

sdafdq 2023. 7. 12. 21:36

객체 지향 프로그래밍은 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프 트웨어 개발에 많이 사용된다.

레고블럭

 

다형성

 

마치 이런.. 부품을 갈아 끼울 수 있는..

 

운전자가 자동차를 바꿔도 계속 운전을 할 수 있는 것 처럼..

특정 부분을 다른걸 따로 새로 만든 다음에, 대신 갈아끼우기만 해도 제대로 굴러간다..

 

 

자동차 인터페이스..

에서 구현.. 

갈아끼운다..

 

이것은.. 역할과 구현으로 나누었기 때문에 가능하다..

 

만드는 자는 그저 역할.. 어떤 역할만 해야 하는지 알면 된다.

어떤 행동을 하게끔 해야 하는 지.. 어떤 값을 줘야 하는 지..

 

역할 = 인터페이스

구현 = 객체, 클래스

 

 

객체 설계시, 역할(인터페이스) 먼저 부여.

그 역할을 수행할 객체 구현

 

 

프로그래밍을 할 때, 각각의 역할부터 설계

혼자 있는 객체는 없음. 모두가 협력적임.

 

클라이언트 : 요청

서버 : 응답

 

 

클라이언트 변경 안하고 서버만 변경해도 가능

 

확장이 쉬운 설계..

 

무한한 확장..

 

 

 

역할 구현 분리의 한계

역할 자체가 변하면, 영향받는 모든 것들을 크게 변경해야 함.

 

역할 자체를 안정적으로 잘 설계하는 것이 중요..

가장 변화가 없는 방식으로..

 

인터페이스가 흔들리지 않는..