[ @Null ]

필드의 값이 null이어야 함

[ @NotNull ]

필드의 값이 null이 아니어야 함

[ @NotEmpty ]

어노테이션이 붙은 필드의 값이 null이 아니며, 빈 문자열("")이나 빈 컬렉션([])이 아닐 것
문자열, 컬렉션, 맵, 배열 등에 사용

[ @NotBlank ]

문자열 필드가 null이 아니고, trim()한 결과가 빈 문자열("")이 아니어야 함. 
주로 문자열에 적용

[ @Size(min, max) ]

컬렉션, 배열, 문자열 등의 값의 크기가 지정된 범위 내에 있어야 함

[ @Min(value) ]

숫자 필드가 지정된 **최솟값 이상**이어야 함

[ @Max(value) ]

숫자 필드가 지정된 **최댓값 이하**이어야 함

[ @Email ]

문자열 필드가 이메일 주소 형식에 맞아야 함

[ @Pattern(regex) ]

문자열 필드가 지정된 정규 표현식과 일치해야 함

@Pattern(regexp = "^01([016789])-\\\\d{4}-\\\\d{4}$", message = "010-0000-0000 형식으로 작성해주세요")

^01([016789])-?\\\\d{4}-?\\\\d{4}$

?가 사이에 들어간 이 표현식은 010-0000-0000 뿐만 아니라 00000000000 같은것도 가능하게 해버림