요즘 프로젝트 리팩토링을 하면서, DTO에 작성하는 여러개의 lombok 어노테이션의 사용 이유를 정확히 알지 못하고 사용하는 것 같아서 하나하나 고찰(?) 해보기로 했다. 일단, DTO는 Data Transfer Object로, REST API 작성 시에 엔티티 대신에 DTO를 사용하여 컨트롤러에서 데이터를 주고받는 용도로 사용한다. DTO를 사용하면 엔티티에 변질을 막을 수 있고, 로직에 맞춰 필요한 필드만 주고받을 수 있어 DTO를 사용하는 것이 좋다. 컨트롤러에서 DTO를 주고받기 때문에 JSON 직렬화와 역직렬화가 일어난다. - 직렬화(serialization) : Java Object 가 JSON으로 변환되는 것으로, ResponseBody를 사용할 때 일어난다. (서버 -> 클라이언트) - ..
MVC 패턴이란? MVC 패턴은 어떻게 소프트웨어를 개발할 것인지를 나타내는 개발 방식이다. 웹 어플리케이션과 같이 UI를 통해 사용자와 상호작용을 해야하는 것을 개발할 때 사용하는 방식이다. MVC는 기능을 크게 세가지로 나눈다. - Model (모델) : 비즈니스 영역의 로직을 처리한다. 데이터 베이스와의 관계를 담당한다. - View (뷰) : 사용자에게 보여지는 화면으로 jsp 파일로 작성한다. - Controller (컨트롤러) : 사용자의 입력 처리와 흐름 제어를 담당한다. 주로 java 코드를 말한다. MVC 패턴의 핵심적인 부분을 정리하자면, 비즈니스 로직을 처리하는 Model과 결과 화면을 보여주는 View를 분리한다는 것 어플리케이션의 흐름 제어나 사용자의 처리 요청은 Controlle..