SOLID 원칙 중 마지막인 5. DIP(=Dependency Inversion Principle, 의존관계 역전 원칙) " '고수준 모듈'은 '저수준 모듈'의 구현에 의존해서는 안 된다. '저수준 모듈'이 '고수준 모듈'에서 정의한 추상 타입에 의존해야 한다." - 다른 말로 "자신보다 변하기 쉬운 것에 의존하 지 마라" - Ex) 고수준 모듈은 자동차 / 저수준 모듈은 스노우 타이어 - '추상화'를 이용해 문제 해결 - Ex) DIP 위반 사례 ⓐ 고수준 모듈인 자동차가 저수준 모듈인 스노우 타이어에 의존하는 상태 ⓑ 일반 타이어로 교체하기로 결정 ⓒ [문제] 의존하고 있던 자동차의 코드도 연쇄적으로 영향을 끼치게 됩니다.(개방-폐쇄 원칙을 위반) class Car(val tire: SnowTire)..