"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

오늘이군

객체지향설계 5원칙 - OCP 본문

삶../프로그래밍

객체지향설계 5원칙 - OCP

오늘이군 2017. 5. 16. 17:53
반응형

※ 추천 글

https://www.youtube.com/watch?v=nrlHZBAXjv8&t=3894s 27분~

http://mckdh.net/554


1. OCP (Open Closed Principle) : 개방폐쇄의 원칙

가. 설명

"소프트웨어 엔티티(클래스, 모듈, 함수 등) 는 확장에 대해서는 개방돼야 하지만 변경에 대해서는 폐쇄돼야 한다" 

- 로버트 C.마틴


데이터베이스가 오라클에서 MySQL로 바뀐다고 해도 Connection을 설정하는 부분 외에는 따로 수정 할 필요가 없다.


기존 개발된 기능의 변경 건이 있거나 새로운 기능 확장을 해야하는 경우, 

기존 클래스 내부코드를 변경하는 방법은 기존의 소스를 사용하는 모든 클래스의 정상적인 작동이 위태롭게 된다. 


이 때 기존의 클래스를 최대한 수정하지 않고 새로운 클래스나 기능을 만들어서 확장해야 한다. 

클래스는 확장에 대해서는 열려있지만 수정에 대해서는 닫혀있어야 한다. 


이것이 OCP 의 원리이다. (상속, 다형성,overriding)

반응형

'삶.. > 프로그래밍' 카테고리의 다른 글

객체지향설계 5원칙 - ISP  (0) 2017.05.16
객체지향설계 5원칙 - LSP  (0) 2017.05.16
객체지향설계 5원칙 - SRP  (0) 2017.05.16
객체지향 4대특성 - 다형성  (0) 2017.05.16
객체지향 4대특성 - 추상화  (0) 2017.05.16

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
Comments