프로그래밍/Spring
@AllArgsConstructor 유의사항
Yanoo
2022. 3. 12. 23:56
728x90
반응형
public class TestApp {
public static void main(String[] args) {
User user = new User("kim", "서울");
System.out.println("user = " + user);
}
}
import lombok.AllArgsConstructor;
@AllArgsConstructor
public class User {
private String name;
private String address;
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", address='" + address + '\'' +
'}';
}
}
이렇게 코드가 있다고 하자.
출력을 확인해 보면
로 제대로 출력되는 것을 확인할 수 있다.
반응형
그런데 만약 리팩토링을 하다가 User의 address의 자리를 바꾸게 되면? 즉,
private String name;
private String address;
에서
private String address;
private String name;
로 바뀌게 된다면
이렇게 반대로 출력되게 된다. 그래서 @AllArgsConstructor 는 유의해서 써야한다.
그리고 @AllArgsConstructor 는 사용하는 것을 이런 이유로 권장하지 않는다고 한다.
728x90
반응형