자동 생성자
목표 @RequiredArgsConstructor가 동작하는 방식을 알아본다. @NoArgsConstructor, @RequireArgsConstructor, @AllArgsConstructor @NoArgsConstructor 파라미터가 없는 생성자를 만든다. final 필드가 있어서 불가능한 경우는 컴파일 오류가 발생한다. @NoArgsConstructor(force=true) 옵션을 줄 경우, 컴파일 오류가 발생하지 않고 모든 final 필드를 0, false, null로 초기화한다. @NonNull 이 붙어있는 어노테이션이 붙어있어도 검사하지 않으므로 유의해야된다. @RequiredArgsConstructor final 필드나 @NonNull 이 붙어있는 필드 중에 초기화 되지 않은 필드들을 파라미터로 가지는 생성자를 만든다. 이 경우에는 @NonNull 이 붙어있으면 널 검사를 하기 때문에, 생성자 파라미터에 null이 있으면 NullPointerException 이 발생한다....