본문 바로가기
공부/이펙티브자바

[이펙티브 자바]item2.생성자에 매개변수가 많다면 빌더를 고려하라

by 띵커베르 2023. 1. 11.
728x90
  • 자바를 쓰면 롬복은 필수로 쓰는데, 롬복으로 @Builder 로 쓰면서 알고 있던 것을 다시한번 확인하는 경험.
  • 순수 빌더 패턴
    • 클래스 안 정적 내부 클래스 선언)ex Builder
    • 내부 생성자와 build 메서드 호출시 return new **class 에 this 를 넘겨 return 함.
  • 아무래도 생성자가 많다면, 아무래도 자바는 빌더패턴을 사용해서 반환하는게 더 낫지않나 생각함.
  • Objects.requireNonNull() 를 잘 사용안하는데, 나중에 써봐야지.
    • 오버라이드 목록을 보니, 익셉션 메세지를 넣을 수 있는 부분이 있네.
  • 비슷한 Optional.of 도 참고해서 입맛에 맞게 사용하자~
  • 단점1.@Builder 적용시 모든 파라미터를 받는 생성자가 기본으로 생기는데 이게 싫다면
    • @AllArgsConstructor(access = AccessLevel.PRIVATE)로 설정 하자.
  • 단점2.필수 필수값을 지정할 수 없다.

참고로 코틀린은 빌더패턴 없어도 됨 ㅎㅎ

728x90

댓글