[JAVA] DTO와 Entity 분리하기: 왜, 어떻게, 어디까지?
Spring Boot 기반 웹 애플리케이션을 개발하다 보면 DTO(Data Transfer Object)와 Entity를 구분하지 않고 사용하는 경우가 종종 있습니다. 특히 초보 개발자일수록 @Entity 클래스를 그대로 컨트롤러에 넘기거나, 클라이언트 요청 바디에 바인딩하는 실수를 저지르기도 합니다.하지만 실무에서는 DTO와 Entity를 명확히 분리하는 것이 유지보수성과 보안, 유연한 확장성 측면에서 매우 중요합니다. 1. DTO와 Entity의 역할 차이Entity: JPA에서 데이터베이스 테이블과 매핑되는 핵심 도메인 객체입니다. 주로 Repository 계층과 연동됩니다.DTO: 계층 간 데이터 전달을 위한 객체로, 프레젠테이션 레이어(View, API)와 도메인 모델 간의 간극을 메워줍니다.한..