Entity (엔티티)
역할: 데이터베이스 테이블과 매핑되는 클래스
하는 일:
- JPA에서 사용하는 클래스
- DB 테이블의 컬럼과 객체 필드를 매핑
- 비즈니스 도메인의 핵심 데이터를 담음
- 즉, DB와 직접 연결되는 "실제 데이터 모델"
DTO (Data Transfer Object)
역할: 클라이언트와 데이터를 주고받는 용도의 객체
하는 일:
- Controller ↔ Service ↔ 클라이언트 간 데이터 전달 전용
- Entity를 외부에 직접 노출하지 않기 위해 사용
- 필요 데이터만 담아서 전송 (보안/성능/유연성 ↑)
- 즉, "화면에 보여줄 데이터"나 "요청에서 받은 데이터"를 위한 전용 객체
Repository
역할: 데이터베이스에 접근하는 계층
하는 일:
- Entity를 통해 데이터베이스에 저장, 조회, 삭제, 수정