좋은 객체지향 설계의 5가지 원칙(SOLID) 클린코드의 저자로 유명한 로버트 마틴이 정리한 5가지 객체지향설계의 원칙 SRP, OCP, LSP, ISP, DIP의 첫글자를 따서 SOLID라고 표현 SRP : 단일 책임 원칙(Single Responsibility Principle) 한 클래스는 하나의 책임만 가져야한다. 하나의 클래스에 너무 많은 역할을 넣어놓으면 안된다. 중요한 기준은 변경, 변경이 있을때 그 파급효과가 적다면 SRP를 잘 따른것이라 볼 수 있다. OCP : 개방-폐쇄 원칙(Open-Closed Principle) 소프트웨어 요소는 확장에는 열려있으나, 변경에는 닫혀있어야 한다. 다형성을 활용! 인터페이스를 구현한 새로운 클래스를 하나 만들어서(확장) 새로운 기능을 구현한다. 인터페이..