Lombok과 어노테이션

93_roman·2023년 2월 6일
0

메모

목록 보기
3/4

Lombok 이란,

Java 라이브러리로 반복되는 getter, setter, toString .. 등의
반복 메서드 작성 코드를 줄여주는 '@어노테이션'을 제공하는 코드 다이어트 라이브러리입니다.

★ 롬복 어노테이션이 (@Getter 혹은 @Setter 등) 사용할땐 편하지만, 단점도 있습니다.

setter 메서드가 필요없는 필드에 대해서도 setter 메서드를 강제로 생성하게 되니,
필드 값이 변경될 위험이 생기게 됩니다.
이런 부분들은 전부 리팩토링의 대상이지만, 롬복을 사용하게될 경우 리팩토링이 힘들어지는 부분도 있으니 너무 무분별하게 사용하는것은 좋지 않다고 생각합니다.

추가로,
@RequiredArgsConstructor를 이용하면 편리하게 의존성 주입이 가능합니다.
선언만 해주면 알아서 final 키워드가 붙은 필드에 대해 생성자를 만들어 줍니다.
이렇게 한번만 선언해도 @Autowired 어노테이션을 붙인 것과 동일하는 것이죠.

@RequiredArgsConstructor를 이용할때 final 키워드를 사용한 인스턴스들은
Bean 객체로 등록 해야합니다. final키워드를 사용하지 않고 사용하면
NullPointerException이 발생합니다.

profile
메모용

0개의 댓글