SOLID 다섯 가지 설계 원칙 단일 책임 원칙(SRP: Single Responsibility Principle) 한 클래스는 하나의 책임만 가져야 한다. 책임 영역이 확실해지고, 한 클래스의 변경이 다른 클래스의 영향을 미치지 않습니다. 그리고 책임을 적절하게 분배함으로써 코드의 가독성이 향상되고 유지보수가 용이하다는 장점이 있습니다. 개방-폐쇄 원칙(OCP: Open Close Principle) 소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다. 소프트웨어 구성요소인 컴포넌트, 클래스, 모듈, 함수는 확장에는 열려있고, 변경에는 닫혀있어야 합니다. 이것은 변경을 위한 비용을 줄이고, 확장을 위한 비용은 극대화 해야한다는 의미입니다. 즉 요구사항이 변경되거나 추가사항이 발생하더라도 ..