객체 지향 설계 원칙이란? 수많은 사람들이 고민하고 시행착오를 겪으면서 만든 원칙입니다. 좀 더 유지보수하기 쉽고, 유연하고, 확장이 쉬운 소프트웨어를 만들 수 있습니다. 코드 베이스뿐만 아니라 아키텍쳐 설계에 이르기까지 다양하게 적용할 수 있습니다. 높은 응집력이란? 비슷한 일을 하는 기능 즉, 하나의 책임에 포함되는 기능들이 잘 뭉쳐있다면 높은 응집력을 가진다고 볼 수 있습니다. 하나의 기능을 변경하는데 여기저기 변경해야 될 곳이 많다면 응집력이 낮다고 볼 수 있습니다. 낮은 결합도란? 클래스 간에 의존성이 낮다면 낮은 결합도를 가진다고 볼 수 있습니다. 하나의 클래스를 수정하는데 의존하는 다른 클래스를 모두 수정해야 한다면 결합도가 높다고 할 수 있습니다. SOLID 원칙 SRP, OCP, LSP,..