lombok 2

객체 생성시 무분별한 Setter를 지양하고 Builder 패턴을 써야 하는 이유

[결론]객체를 생성할 때 new 생성자와 Setter를 조합하는 방식은 객체의 일관성과 불변성을 훼손하므로, 안전한 객체 생성과 명확한 가독성을 보장하는 Builder 패턴을 기본으로 사용해야 한다. [본론]기존방식// 기존 방식User user = new User();user.setName("홍길동");user.setAge(20);// user.setEmail(...) -> 필수 값을 실수로 누락해도 에러가 안 남! 일관성(Consistency) 붕괴: 객체가 생성된 직후에는 빈 껍데기(불완전한 상태)다. 필수 값 셋팅을 하나라도 빼먹으면 불완전한 객체가 시스템을 돌아다니다 런타임 에러(NPE 등)를 터뜨린다.불변성(Immutability) 보장 불가: 값을 주입하기 위해 Setter 메서드를 publ..

IT/JAVA&Spring 2026.03.06

Lombok?

* Lombok은 자바 6 이후에 사용할 수 있고, 해당 코드가 자동생성되는 시점은 컴파일 되는 시점이다.Lombok은 자바에서 반복되는 코드를 줄이기 위한 라이브러리로, 애노테이션 몇 줄만으로 getter/setter, toString, 생성자 등을 자동 생성해줌. 예를 들어 @Data 하나만 붙이면 대부분의 보일러플레이트 코드가 생략 가능해서 코드가 간결해지고 생산성도 높아짐. 자주 쓰는 애노테이션은 @Getter, @Setter, @NoArgsConstructor, @AllArgsConstructor, @Builder 등이 있음. @Slf4j 와 같은 로그 프레임워크도 어노테이션으로 설정할 수 있다. 컴파일 타임에 코드가 삽입되기 때문에 실제 메서드는 안 보이지만 정상 동작함. 단, IDE에 플러그..

IT/JAVA&Spring 2025.05.15