객체지향 설계원칙SOLID단일 책임 원칙SRP개방-폐쇄 원칙OCP리스코프 치환 원칙LSP인터페이스 분리 원칙ISP의존성 역전 원칙DIPS : 단일 책임 원칙한 클래스는 하나의 책임(변경 이유)만 가져야 한다.O : 개방-폐쇄 원칙엔티티(클래스, 모듈, 함수 등)는 확장에는 열려 있어야 하고, 변경에는 닫혀 있어야 한다.L : 리스코프 치환 원칙서브타입은 언제나 그것의 베이스 타입으로 교체될 수 있다.슈퍼 클래스의 인스턴스 대신 서브 클래스의 인스턴스를 사용할 수 있어야 함.이를 통해 다형성을 활용한 설계가 가능해짐.I : 인터페이스 분리 원칙클라이언트는 자신이 사용하지 않는 메서드에 의존하면 안됨.불필요한 의존성을 줄이고 유연성 확장.D : 의존성 역전 원칙(DIP)고수준 모듈은 저수준 모듈에 의존하면 ..