OCP(Open-Closed Principle, 개방-폐쇄 원칙)은 객체 지향 프로그래밍의 SOLID 원칙 중 하나로, 소프트웨어 엔티티(클래스, 모듈, 함수 등)는 확장에는 열려 있어야 하고 변경에는 닫혀 있어야 한다는 원칙을 의미합니다. 즉, 기존 코드를 수정하지 않고 새로운 기능을 추가할 수 있도록 설계해야 한다는 것입니다. 1) OCP의 주요 개념확장에 열려 있어야 한다(Open for extension): 새로운 기능이나 요구사항이 생길 때, 기존 코드를 변경하지 않고 확장할 수 있어야 합니다.변경에 닫혀 있어야 한다(Closed for modification): 기존의 잘 작동하는 코드를 변경하지 않고도 새로운 기능을 추가할 수 있어야 합니다. 이를 통해 기존 기능의 안정성을 유지할 수 있습니..