개방 폐쇄 원칙
개방 패쇄 원칙 (Open closed principle) - OCP
정의
객체는 확장에는 열려 있어야 하지만 수정에는 닫혀 있어야 한다.
원칙 위반시 증상
기능 확장을 할 때마다 기존코드를 수정해야 한다.
if else 블록이 자주 등장한다.
기능 확장을 위해 코드 수정시에 여러 클래스에서 다발적으로 진행이 된다.
원칙 적용 방법
변화되는 부분을 추상화해서 변화를 고정시킨다.
기능 추가사항이 발생하면 클래스 상속을 통해 하위 클래스에서 기능을 구현한다.
기존 코드를 수정하지 않더라도 객체 상속의 다형성 원리에 의해 기능확장이 이루어진다.
Last updated