처음에는 “@Setter는 쓰지 말라고 하던데, 그런데 왜 어떤 코드는 쓰고 어떤 코드는 안 쓰는 거지?” 라는 생각이 들었습니다. 저처럼 의존성 주입은 무조건 생성자 방식이 좋다고 배워왔던 분들에게는 @Setter나 set 메서드의 존재가 헷갈릴 수 있습니다.하지만 최근 프로젝트를 하면서 설정값을 다루는 @ConfigurationProperties 같은 클래스에서 setter 메서드를 직접 써야 하는 경우가 있었고, 그 이유를 공부하면서 정리가 필요하다고 느껴 이 글을 작성하게 되었습니다.저처럼 '@Setter=안좋다'라고만 배웠던 분들에게 도움이 되길 바라며, 구체적으로 언제 사용하는지 살펴보겠습니다 😊❓ 무조건 생성자 주입이 최고 아닌가?보통 Spring에서는 불변성(immutability) 과 ..