작성
·
545
2
선생님 언제나 좋은강의 감사드립니다!
선생님께서는 실무에서 왠만하면 셋터를 전부 제거 하신다고 알려주셨는데요. Book 클래스에서 Setter를 제거하려고 시도하다가 나온 의문점이 있어 질문드립니다.
밑의 코드와 같이 작성하였는데요.
이 경우 author와 isbn필드로 인해 어쩔수없이 private setter를 두개 둘수밖에없었습니다. 이와같이 private setter를 두는것이 옳을지, 필드를 static으로 바꾸는게 좋을지에 대한 질문인데요 Book 객체의 경우 필드가 두개밖에 없어서 static으로 바꿔줘도 상관없을거라고 생각은하는데 실무에서는 무수히 많은 필드가 있는 객체가 있을경우 static 필드 vs private 셋터중 어떤게 옳은 방법인지 궁금해서 질문드립니다.
@Entity
@DiscriminatorValue("B")
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class Book extends Item {
@Setter(value = AccessLevel.PRIVATE)
private String author;
@Setter(value = AccessLevel.PRIVATE)
// static으로 만드는것을 고려?
private String isbn;
public static Book createNewBook(String author, String isbn, String name, int price, int quantity) {
Book book = new Book();
book.setAuthor(author);
book.setIsbn(isbn);
book.setName(name);
book.setPrice(price);
book.setStockQuantity(quantity);
return book;
}
}
빠르고 정확하고 친절한 답변 감사드립니다.