좋은 소프트웨어를 설계하기 위해서는? 코드의 재사용 및 유지보수가 용이한 것이 좋은 소프트웨어다. 이를 위해 결합도(Coupling)는 낮추고 응집도(Cohesion)는 높여야한다. 예를들어 A클래스와 B클래스가 서로 의존하고 있을 경우, A코드를 수정하면 B코드에도 영향을 끼칠 수 있다. 이런 경우를 결합도가 높다고 일컫는다. 응집도는 한 모듈 내부의 처리 요소들이 서로 관련되어있는 정도를 말한다. 응집도가 높으면 해당 모듈은 하나의 책임에 집중하고 독립성이 높아져, 재사용 및 유지보수가 용이하다. SOLID (객체지향 설계) 1. SRP (Single Responsibility Principle) 단일 책임 원칙 요약 : 한 클래스는 하나의 책임만 가진다. 예시로 아래 코드는 객체지향의 '다형성'을 ..