생성자 + 빌더 + 정적팩토리메서드
✨ 객체의 생성을 담당하는 클래스 메서드
근데 이번 프로젝트에서는 다 of를 씀.. 포괄적으로 씀?
🔹 생성자(private) + Builder + 정적팩토리메서드(public)
@Builder
private Review(String content, int rating, Member member, Order order, Shop shop) {
this.content = content;
this.rating = rating;
this.member = member;
this.order = order;
this.shop = shop;
}
public static Review addOf(ReviewRequestDto dto, Order order) {
return Review.builder()
.content(dto.content())
.rating(dto.rating())
.order(order)
.member(order.getMember())
.shop(order.getShop())
.build();
}
🔹 Only 생성자(public)
public Review(String content, int rating, Member member, Order order, Shop shop) {
this.content = content;
this.rating = rating;
this.member = member;
this.order = order;
this.shop = shop;
}
// 객체 직접 생성해야 함
Review review = new Review(
dto.content(),
dto.rating(),
order.getMember(),
order,
order.getShop()
);
생성자만 쓰면