@Builder 2

Setter 지양, 그리고 DTO를 써야하는 이유

Entity Level에서 @Setter를 사용하면 안되는 이유1. 개발자의 의도를 알기 어렵다.2. 메소드 단의 개발로 책임 분산을 덜할 수 있다.그럼 어떻게 해결할 수 있을까?1. @Builder 사용하기2. DTO단에서 Getter와 Setter 사용하기 개발을 진행하다 보면, Entity레벨에 @Setter를 사용하여 데이터를 쉽게 바꾸거나, 지정해주고 싶을 때가 있었다. 하지만 대부분의 강의나 피드백에서 Setter 사용은 적극적으로 지양하고 있다. 처음에는 왜 어노테이션만 붙이면 되는건데 이 쉬운걸 포기해야할까 ? 라는 의문이 들었다. 하지만 여러번의 조사 끝에 왜 Setter을 사용하지 않고, 대신 DTO를 사용해야하는지 깨달을 수 있었다. 오늘은 그 이유에 대해서 작성해보도록 하겠다. 🌱 ..

@Builder란?

Lombok 라이브러리의 @Builder 어노테이션은 정말 많이 사용하는 어노테이션이다. 항상 생성자 자체를 사용하기 보단 @Builder을 사용해서 생성자를 만들곤 했다. 하지만 사용하면서도 Builder의 패턴이나 사용이유에 대해 깊게 생각하지 못하고 넘어갔던 것 같아 정리하고자 한다. 이번 기회에 공식문서 읽는 습관도 들여야겠다. 🌱 @Builder와 일반 객체 생성의 차이점 Telescoping Constructor Pattern (점층적 생성자 패턴)Java Beans Pattern (자바 빈 패턴)정리 | 기존 생성자 패턴 ↔ 빌더 패턴1️⃣ 생성자는 파라미터가 많을 경우 가독성이 좋지 않다.2️⃣ 불필요한 매개변수의 값까지 지정해줘야 한다.3️⃣ 매개변수의 순서가 바뀌면 에러가 난다.@Bui..