JSR 305

정식 스펙은 아님 → Spring Framework에는 사용하려 함


@NonNull / @Nullable 어노테이션


SpotBugs 플러그인 (gradle)

https://plugins.gradle.org/

정적 분석으로 어노테이션 체크


@NonNullApi 어노테이션

package-info.java를 통해서 해당 패키지 하단의 모든 필드를 NonNull 상태로 만들어줌

image.png

NonNull과 NotNull의 차이점

@NonNull@NotNull은 이름은 비슷하지만, 출처와 동작 방식이 다르고, 실제 코드에서의 역할도 미묘하게 다르다.

아래에서 정리해볼게.


1. 공통점