3 Layer Architecture - 한 개의 클래스에 너무 많은 양의 코드가 존재할때 이해하기가 어려울때 - 코드의 추가 혹은 변경 요청이 곗고 들어올때 - 문제가 발생했는데 해당 클래스를 구현한 개발자가 퇴사하여 유지보수가 어려울때 위와 같은 상황에서 문제를 해결하기 위해 서버 개발자들은 서버에서 처리과정이 대부분 비슷하다는 것을 깨닫고, 처리과정을 크게 Controller, Service, Repository 총 3개로 분리하였다. Controller - 클라이언트의 요청을 받는다. - 요청에 대한 로직 처리는 Service에게 전담한다. (Request 데이터가 있다면 함께 전달) - Service에서 처리 완료된 결과를 클라이언트에게 응답한다. Service - 사용자의 요구사항을 처리(비즈..