객체를 클래스로 정의할 때, 자주 등장하는 녀석이다. 여러 기능들을 포함하고 있는 간편한 기능인데, 사용 시 주의해야 할 사항도 있으니 함께 알아보려고 한다. 아래 글과 블로그를 참고했다. - @Value - Lombok 사용상 주의점(Pitfall) Overview @Value 어노테이션은 @Data 어노테이션의 변형된 녀석인데, 특이한 점은 객체를 불변(Immutable)으로 만들어준다는 점이다. 여기서 불변(Immutable)이란, 객체 생성 후 그 상태를 수정할 수 없는 것을 뜻한다. 그렇기 때문에 객체의 상태를 변경할 수 있는 @Setter는 생성되지 않는다. (@Setter, @Getter는 요즘 Spring 개발자치고 모르는 사람이 없을 정도로 기초적인 어노테이션이기 때문에 이 글에서는 굳이..
Study/Lombok
Spring과 Lombok을 사용한다면 꼭 알고 있어야 하는 생성자 관련 어노테이션들이다. 아래 Lombok 공식 문서와 블로그를 참고로 글을 작성하였다. - @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor - Lombok 사용상 주의점(Pitfall) Overview @NoArgsConsructor, @RequiredArgsConstructor, @AllArgsConstructor, 이 3형제는 이름에서부터 어떤 역할을 하는 어노테이션들인지 대략 짐작이 간다. 일단 3형제 뒤에 붙은 Constructor라는 단어로부터, 이 3형제는 프로그래머 대신 생성자를 만들어주는 역할을 한다는 것을 유추할 수 있다. 그러니까, 객체 내부에 선언되..