설명
사용하는 이유
예시
public class UserDTO {
private Long id;
private String username;
private String email;
// getters, setters, constructors 등
}
📌 Entity
📌 DTO (Data Transfer Object)
설명
사용하는 이유
예시
public class UserDAO {
private DataSource dataSource;
public UserDTO getUserById(Long id) {
// 데이터베이스에서 id를 사용하여 사용자 정보를 가져오는 로직
// 가져온 데이터로 UserDTO 객체를 생성하여 반환
}
public void saveUser(UserDTO user) {
// UserDTO 정보를 데이터베이스에 저장하는 로직
}
// 다른 CRUD 연산 메서드들...
}
UserDAO
를 사용하여 데이터베이스에서 사용자 정보를 가져옴UserDTO
객체로 변환UserDTO
객체는 프레젠테이션 계층으로 전달되어 사용자에게 보여짐설명
특징
예시
public final class Money {
private final double amount;
public Money(double amount) {
this.amount = amount;
}
public double getAmount() {
return amount;
}
// VO의 동등성을 검사하기 위한 equals() 메서드 오버라이드
@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (obj == null || getClass() != obj.getClass()) return false;
Money money = (Money) obj;
return Double.compare(money.amount, amount) == 0;
}
@Override
public int hashCode() {
return Objects.hash(amount);
}
}