SOLID란? 응집도를 높이고 결합도를 낮추기 위한 구체적인 방안. 로버트 마틴이 주장한 다섯가지 설계원칙 - SRP : 단일책임원칙. 해야하는게 하나일 때. 클래스가 변경돼야 하는 이유가 하나만 되도록 설계 ex) xml 형태가 아닌 다른 형태로 출력 두가지 변경 요인이 존재 -> SRP 만족 X 출력하는 기능 / 편집하는 기능 으로 클래스 분리!!!! --> SRP 만족! * 하나의 메소드만 있어야하는건 아님. 그것들이 다 연관돼있어야함. - OCP : Open Closed Principle 개방 폐쇄의 원칙. 가장 핵심적인 설계 원칙. 기존 코드를 변경하지 않으면서 새 기능 추가할 수 있도록 설계하는 원칙. - LSP : 일반화 관계를 적절히 사용했는지 점검하는 원칙 - ISP : 인터페이스 분리 ..