설계 원칙 : SOLID 1. 단일 책임원칙: 1) 단일 책임 원칙 (클래스는 단 한 개의 책임을 가져야 한다.) : 다른 말로 클래스를 변경하는 이유는 단 한 개여야 한다. 그러나 하나의 책임의 개념이 명확하지 않고, 하나의 책임을 도출하려면 많은 경험이 필요하기 때문에 어려운 원칙이다. 2) 단일 책임원칙 위반 시 불러오는 문제점 : 예를 들어 데이터를 읽는 책임과 데이터를 화면에 출력하는 책임 2가지를 동시에 하나의 클래스에서 관리하면, 책임의 개수가 많아질수록 책임의 기능 변화가 다른 책임에 주는 영향이 비례해서 증가해서 결국 코드를 절차 지향적으로 만든다. 이는 유지보수, 재사용의 어려움을 야기한다. 3) 책임이란 변화에 대한 것 : 단일 책임 원칙을 잘 지킬 수 있는 방법은 메서드를 실행하는 ..