단일 책임
한 모듈이 너무 많은 변경 이유를 가지면 테스트와 수정 범위가 커집니다.
SOLID는 클래스 이름을 예쁘게 나누는 규칙이 아니라 변경 이유, 확장 방식, 대체 가능성, 인터페이스 크기, 의존 방향을 점검하는 기준입니다.
한 모듈이 너무 많은 변경 이유를 가지면 테스트와 수정 범위가 커집니다.
기존 코드를 직접 고치기보다 새 구현을 추가해 확장할 수 있게 합니다.
하위 타입이 상위 타입 계약을 깨지 않고 대체될 수 있어야 합니다.
구체 구현보다 인터페이스와 추상화에 의존하도록 경계를 만듭니다.