# OCP(Open Closed Principle)
### 역사적 배경 + 유래
- 걔방 폐쇄 원칙 OCP (Open-closed Principle)은 버트란드 마이어 (Bertrand Meyer)의 'Object Oriented Software Construction'(1988)이라는 책에서 유래되었다.
- 이 책에서 소프트웨어 개발에서 객체지향 원칙을 강조하고, 이 중 하나로 OCP를 소개했습니다.
### 요약 설명
> 기존의 코드를 변경하지 않으면서 기능을 추가할 수 있도록 설계가 되어야 한다.
### 목적과 필요성
코드의 유연성과 재사용성을 높이는 것
새로운 요구 사항이나 기능 추가가 발생하더라도 기존의 코드를 변경하지 않고도 이를 수용할 수 있도록 설계함으로써 소프트웨어의 유지 보수성을 향상시킨다
### 예제 코드 ( 또는 다이어그램 )
```java
public interface Drawable {
void draw();
}
public class Rectangle implements Drawable {
@Override
public void draw() {
// 사각형을 그리는 코드
}
}
public class Circle implements Drawable {
@Override
public void draw() {
// 원을 그리는 코드
}
}
```