OCP (Open Close Principle)은 개방 폐쇄 원칙으로 기존의 코드를 수정하지는 않고 새로운 코드를
추가할 수 있도록 하는 원칙이다.
이 원칙은 왜 지켜야 할까?
이미 테스트까지 마친 잘 작동하는 코드를 변경하게 된다면 버그가 발생할 위험이 생긴다.
그리고 코드가 수정되면서 테스트 또한 수정해할 수도 있기 때문에 유지보수에 비용이 발생한다.
OCP를 지키지 않는 상황을 예를 들어 기존의 if-else문으로 A, B, C를 구분하고 있을 때
추가적인 D를 구분하려면 else로 코드를 추가하기만 하면 된다.
하지만 if-else문을 추가하다가 실수로 기존에 잘 작동하는 코드를 건드려 버그를 일으킬 위험이 있다.
OCP를 지키는 방법으로는 추상화와 다형성을 이용해야 한다.
기존에 잘 작동하던 코드를 변경하거나 추가하는 것이 아니라 다형성을 이용해서
새로운 하위 클래스를 만들고 의존성만 바꿔준다면 코드를 수정하며 발생하는 위험성을
없앨 수 있다.
그렇기 때문에 기존에 잘 만들어진 코드는 가능한 수정하지 말고 새로 추가하라는
개방 폐쇄 원칙(OCP)을 지켜야 한다.
'우테코 프리코스 > 프리코스 오픈미션' 카테고리의 다른 글
| 제어의 역전이란? (0) | 2025.11.10 |
|---|---|
| 안티팬이 아니라 안티 패턴이요? (0) | 2025.11.10 |
| SRP은 왜 지켜야할까? (0) | 2025.11.10 |
| 게임 진행을 어떻게 제어할까? (0) | 2025.11.09 |
| EnumMap 클래스란? (0) | 2025.11.09 |