개방 폐쇄 원칙

개방 패쇄 원칙 (Open closed principle) - OCP

  • 정의

객체는 확장에는 열려 있어야 하지만 수정에는 닫혀 있어야 한다.

  • 원칙 위반시 증상

    • 기능 확장을 할 때마다 기존코드를 수정해야 한다.

    • if else 블록이 자주 등장한다.

    • 기능 확장을 위해 코드 수정시에 여러 클래스에서 다발적으로 진행이 된다.

  • 원칙 적용 방법

    • 변화되는 부분을 추상화해서 변화를 고정시킨다.

    • 기능 추가사항이 발생하면 클래스 상속을 통해 하위 클래스에서 기능을 구현한다.

    • 기존 코드를 수정하지 않더라도 객체 상속의 다형성 원리에 의해 기능확장이 이루어진다.

Last updated