Spring에서 Layered Architecture의 Controller, Service, Repository의 역할을 설명해주세요.
“Controller는 요청/응답을 처리하고, Service는 비즈니스 로직을 담당하며, Repository는 데이터베이스 접근을 담당합니다. 계층을 분리하여 유지보수성과 테스트 용이성을 높입니다.”
“관심사를 분리하여 변경 영향 범위를 줄이고, 테스트를 용이하게 하기 위해서입니다. 특히 Service를 중심으로 비즈니스 로직을 분리하면 Controller나 Repository 변경 시에도 핵심 로직은 영향을 받지 않게 됩니다.”