SOLID - 함수와 데이터 구조를 클래스로 배치하고 결합하는 방법 종류 SRP: 단일 책임 원칙 - 소프트웨어 모듈은 변경 이유가 하나여야 함 OCP: 개방-폐쇄 원칙 - 기존 코드를 수정하기 보다 새로운 코드를 추가하는 방법으로 행위를 변경해야 함 LSP: 리스코프 치환 원칙 - 상호 대체 가능한 구성요소를 이용해 소프트웨어 시스템을 만들 수 있으려면, 구성요소는 반드시 서로 치환 가능해야 함 ISP: 인터페이스 분리 원칙 - 소프트웨어 설계자는 사용하지 않은 것에 의존하지 않아야 함 DIP: 의존성 역전 원칙 - 고수준 정책을 구현하는 코드는 저수준 세부사항을 구현하는 코드에 의존해서는 안됨 > 세부사항이 정책에 의존 장점 - 변경에 유연 - 이해하기 쉬움 - 컴포넌트 기반 7장, SRP: 단일 책..