Layering 실무에서 다루는 복잡한 프로그램들은 우리가 개념을 배울 때 사용하는 예시 프로그램과 같은 간단한 구조로 이루어져있지 않다. 이러한 복잡한 프로그램을 다루는 가장 일반적인 방법은 layer를 분리하는 것이다. 이렇게 Layering을 하는 목적은 추상화에 그 목적이 있다. JSP와 같이 하나의 파일로 여러가지 역할을 처리하면, 너무 많은 역할을 하게 된다. 비즈니스 로직을 호출하는 부분에 변경이 발생해도, UI를 변경할 일이 있어도 모든 경우에 하나의 파일에 접근하여 코드를 수정해야 하는 것이다. 그래서 적절한 Layering은 추상화를 성공시켜 각기 다른 layer끼리는 서로 변경에 영향을 받지 않게 되고, 이것은 유지보수에 큰 이점을 가져다준다. 개발자들은 다양한 프로젝트를 통해서 최선..