<
객체지향설계의 5대 원칙 - OCP 편
>
🌠다음 포스팅🌠

객체지향설계의 5대 원칙 - SRP 편
☄이전 포스팅☄

객체지향설계의 5대 원칙 - LSP 편
OOD 5대원칙

🚀 OOP를 올바르계 설계해 나가는 원칙

OOP의 4대 특성 캡슐화, 상속, 추상화, 다형성은 객체지향 프로그래밍을 이어가는 동안 사용할 Tool 같은 역할이 된다.

도구가 있다면 용도에 맞게 사용해야하는데 요리를 하면 표준에 있듯이 OOP 세계에서도 원칙이라는 것이 존대한다.

OOP를 기반으로 설계하는 방식을 OOD (Object Oriented Design)이라고 하며 설계 방법을 구체화 하여 정리한 원칙이 SOLID가 되는 것이다.

🌠 SOLID

원칙이 탄생한 것은 높은 응집도와 낮은 결합도 목표로 로버트 C.마틴이 확립한 개념이다.

☄ OCP(Open Closed Principle) : 개방 폐쇄 원칙

SW 엔티티(클래스, 모듈, 함수)는 확장에 대해서는 열려있어야 하며 변경에 대해서는 닫혀있어야한다.

OCP의 목적은 유연성, 재사용성, 유지보수성에 있다.

이것은 인터페이스의 목적에 대해 공부 했다면 빠르게 이해할 수 있을 것이다.

004 005

우리가 차량을 바꾼다 해서 운전 방식이 완전히 달라지는 것은 아니다.

그림을 본다면 자동, 수동에 차이만 있지만 엑셀을 밟고 핸들을 돌리는 행위는 변하지 않는다. 즉, 세세한 과정의 변화만 있을뿐 과정은 변하지 않는 것이다.

그렇다면 과정을 추상화하고 세세한 과정은 해당 차량의 클래스에서 담당 하도록 한다면 운전자는 운전 행위에 대해서는 영향을 받지 않게 된다.

006

위 그림처럼 자동차의 공통부분을 인터페이스로 만들고 세세한 조작을 각 객체에 전담시킨다면 언제든 새로운 차량이 등장해도 우리는 인터페이스에서 상속받아 확장하기만 하면 되는 것이다.

🧾 Reference

Top
Foot