솔리드 원칙이란 원칙들의 앞자리를 따서 SOLID라고 한다.객체지향 프로그래밍을 하면서 지켜주면 좋은하지만 의무는 아닌 그런 원칙이다.SOLID 원칙을 지키면 좋은 코드를 만들 수 있다고 한다.어떤것이 좋은 코드일까?가독성이 좋은코드? 유지보수가 좋은코드? 확장이 잘되
단일 책임 원칙클래스는 단 하나의 역할을 가져야 한다.여기서 역할이란 굉장히 주관적일 수 있다.예를들어 커피숍이라는 클래스가 있다고 치자.커피숍은 커피를 만드는 메서드와 커피 메뉴를 가져와서 보여주는 메서드가 있다면역할은 어디까지일까? 커피숍이니까 커피 만드는 역할만?