본문 바로가기
우테코 프리코스/프리코스 오픈미션

OCP는 왜 지켜야할까?

by sloth365 2025. 11. 10.

 OCP (Open Close Principle)은 개방 폐쇄 원칙으로 기존의 코드를 수정하지는 않고 새로운 코드를

추가할 수 있도록 하는 원칙이다.

 

이 원칙은 왜 지켜야 할까?

이미 테스트까지 마친 잘 작동하는 코드를 변경하게 된다면 버그가 발생할 위험이 생긴다.

그리고 코드가 수정되면서 테스트 또한 수정해할 수도 있기 때문에 유지보수에 비용이 발생한다.

 

OCP를 지키지 않는 상황을 예를 들어 기존의 if-else문으로 A, B, C를 구분하고 있을 때

추가적인 D를 구분하려면 else로 코드를 추가하기만 하면 된다.

하지만 if-else문을 추가하다가 실수로 기존에 잘 작동하는 코드를 건드려 버그를 일으킬 위험이 있다.

 

OCP를 지키는 방법으로는 추상화와 다형성을 이용해야 한다.

 

기존에 잘 작동하던 코드를 변경하거나 추가하는 것이 아니라 다형성을 이용해서

새로운 하위 클래스를 만들고 의존성만 바꿔준다면 코드를 수정하며 발생하는 위험성을

없앨 수 있다.

 

그렇기 때문에 기존에 잘 만들어진 코드는 가능한 수정하지 말고 새로 추가하라는

개방 폐쇄 원칙(OCP)을 지켜야 한다.