인프런 커뮤니티 질문&답변

wnsqud70님의 프로필 이미지
wnsqud70

작성한 질문수

Java/Spring 주니어 개발자를 위한 오답노트

설계 (2) : 의존성을 추상화 시키는 방식

변하는 값을 추상화 시켜라

작성

·

222

0

안녕하세요 강의 잘 보고 있습니다.

다름이 아니라 5분 48초에 나오는 부분에서 DIP 원칙으로 설계 하셨는데..

그럼 결국에 프로덕션에서는 getMils() 메서드를 사용하면 똑같이 내부적으로 의존성이 감춰지기 때문에 초반에 설명하신거하고 똑같은 상황이 되는게 아닌가요??

감사합니다!

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

DIP(의존 역전 원칙)은 상위 모듈이 하위 모듈에 의존하지 않고, 둘 다 추상화에 의존해야 한다는 원칙입니다. 즉, 고수준의 모듈이 저수준의 모듈의 구현 세부사항에 직접 의존하지 않도록 설계하는 것이 중요합니다.
getMillis() 메서드를 사용할 때 해당 메서드가 추상화된 인터페이스의 일부라면, 구현 세부 사항은 상위 모듈에서는 감출 수 있으며, 이는 DIP 원칙에 부합합니다.

추상화를 통해 메서드를 제공하면, 구현을 변경하더라도 상위 모듈에 영향을 주지 않고 유연한 설계가 가능해집니다. 따라서 프로덕션 환경에서 getMillis() 같은 추상화된 메서드를 사용하더라도, 실제 시간을 제공하는 저수준의 구현이 변경되면, 그 변경사항을 상위 모듈은 알 필요가 없으며, DIP 원칙에 따른 설계가 유지됩니다.

감사합니다, wnsqud70님.

wnsqud70님의 프로필 이미지
wnsqud70

작성한 질문수

질문하기