✔️ DTO의 필드를 검증
✔️ 중첩된 객체(내부 객체)도 검증 가능
✔️ 메서드 파라미터에는 사용할 수 없다
Spring 전용 어노테이션
@Valid 의 기능을 포함하면서 더 많은 기능을 제공
✔️ DTO의 필드를 검증 (@RequestBody)
✔️ 메서드 개별 파라미터도 검증 가능 (@PathVariable, @RequestParam)
✔️ 검증 그룹(Validation Groups) 적용 가능
☑️ @Valid 는 Java 표준
✔️ @Validated 는 스프링에서 제공하는 어노테이션
☑️ @Valid 는 MethodArgumentNotValidException 예외를 발생시킨다. → @RequestBody 객체의 필드 유효성 검사 실패 시 발생
✔️ @Validated 는 ConstraintViolationException 예외를 발생시킨다. → 개별 메서드 매개변수(@PathVariable, @RequestParam)의 유효성 검사 실패 시 발생
➡️ ❗객체 단위 검증이면 @Valid❗
➡️ ❗개별 매개변수 검증이면 @Validated❗

DTO(@RequestBody) 검증이면 → @Valid
메서드 매개변수 검증(@PathVariable, @RequestParam)이면 → @Validated
검증 그룹이 필요하면 → @Validated
➡️ @Valid 는 기본적인 객체 검증에 적합
➡️ @Validated 는 더 정교한 검증에 적합