로딩 중...
Service가 Repository를 직접 생성하지 않도록 리팩토링
구현 지침 탭에서 각 단계를 클릭하여 완료 표시할 수 있습니다.
이 미션에서 무엇을 배우고 어떤 경험을 하게 되는지 확인하세요.
Service가 Repository를 직접 생성하지 않도록 리팩토링하여, 의존성 주입(DI)과 제어의 역전(IoC)의 필요성을 구조적으로 이해합니다.
IoC/DI는 클래스 간 결합도를 낮추고 응집도를 높여, 변경과 확장에 용이한 객체지향적 설계를 가능하게 하는 핵심 원칙이다. Spring 프레임워크의 근간이 되는 개념이며, 테스트 용이성과 유지보수성을 높이는 데 널리 활용된다.
이번 미션에서는 4주차에서 만든 멤버 관리 시스템을 Repository, Service, Main 세 개의 레이어로 분리하고, 생성자를 통해 의존성을 주입하는 구조로 리팩토링한다. 두 개의 저장소 구현체(Memory, Mock)를 만들어 교체해보며, Service 코드 수정 없이 동작이 달라지는 것을 직접 확인한다.
이 경험을 통해 "객체를 직접 생성하면 왜 문제가 되는지", "인터페이스에 의존하면 어떤 유연성을 얻는지"를 이해하게 된다. 이 구조는 이후 Spring의 DI 컨테이너를 학습할 때 기반이 된다.