인프런 커뮤니티 질문&답변
@RequiredArgsContructor 주의
해결된 질문
작성
·
210
5
@RequiredArgsContructor 를 사용하면 생성자 파라매터로 클래스 내부의 필드를 순서대로 받고 있는데요,
이 때 여러가지 요인에 의해서 내부 필드의 순서가 바뀌게 되는 경우 문제가 발생할 여지가 있지 않나요?
예전에 봤던 내용이 생각나서 질문드립니다.
ex)
@RequiredArgsConstructor
public class Item {
private final int count;
private final int price;
}
Item item = new Item(10, 5000);
의 상태에서 필드 순서가 바뀌는 경우 컴파일 타임에 에러가 발생하지 않고 런타임상에서만 알 수 있지 않나요?
int 타입으로 예시를 들었지만 실제 커스텀 클래스 필드의 DI 상황에서도 비슷한 결과를 도출하지 않을까 생각됩니다.
퀴즈
66%나 틀려요. 한번 도전해보세요!
필드 주입(Field Injection) 방식이 일반적으로 권장되지 않는 이유는 무엇일까요?
불변성을 보장하기 어려워서
의존성 변경이 쉬워서
순수 Java 코드로 테스트하기 어려워서
설정 코드 작성이 복잡해서





