계층 간 데이터 교환을 위해 사용하는 객체
View <-> Controller <-> Service <-> Domain
DB로부터 데이터를 얻어 Service나 Controller 등으로 보낼 때 사용하는 객체
로직을 갖고 있지 않은 데이터 객체이며, getter/setter 메서드만을 갖는다
Entity 클래스는 DB와 맞닿는 핵심 클래스 이다. 하지만 클라이언트쪽의 변경은 자주 일어나는데 이럴때 마다 DB가 변경되는 것은 매우 큰 비용이다
Request, Response 처리할때 사용해주면 된다.
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserDto {
private long id;
private String username;
private String password;
public static UserDto toDto(User user){
return new UserDto(
user.getId(),
user.getUsername(),
user.getPassword()
);
}
}