본문 바로가기
반응형
Spring

RequestDTO에 사용하는 @NoArgsConstructor(access = AccessLevel.PROTECTED)

by brightGarden02 2024. 9. 30.

@NoArgsConstructor는 객체 내부의 데이터 없이 객체를 생성할 수 있게 하는 어노테이션이다. 기본 생성자를 자동으로 만들ㄹ어주며, 주로 프레임워크가 객체를 인스턴스화할 때 사용된다.

 

@NoArgsConstructor(access = AccessLevel.PROTECTED)라는 어노테이션을 사용하면 

해당 객체를 외부에서 생성하지 못하도록 한다. 언제 해당 객체를 외부에서 생성하지 못하도록 하면 될까?

 

requestDTO의 경우이다. requsetDTO의 경우 클라이언트가 서버에 데이터를 담아서 보내면 서버에서 DTO로 받는다. 이 객체는 서버에서만 인스턴스화 되어야하며, 외부에서 무분별하게 생성하면 안된다. DTO 객체가 임의로 생성된다면, 데이터 변경이 발생하거나 잘못된 상태의 객체가 만들어질 수 있다.

댓글


반응형
반응형