본문 바로가기

공부 기록/Spring

[Spring] Null Safety - @NonNull, @Nullable

Null Safety

- null 체크를 하는 보일러 플레이트 코드를 만들지 않는 방법

 

@NonNull

- 메서드 파라미터 => null 데이터가 들어오는 것을 사전에 방지

    public void method(@NonNull String request) {
    
        ...
    
    }

 

- 프로퍼티 => null을 저장하는 경우 경고(IDE에서의 경고)

    @NonNull
    public String request = "REQUEST";
    
    public void method() {
    
        ...
    
        request = null; // 경고
        
        ...
        
    }

 

- 메서드 => null 리턴 시 경고

    @NonNull
    public String method() {
    
        ...
    
        return null; // 경고
    }

@Nullable

- 해당 데이터가 null일 수 있음을 명시 <=> @NonNull과 반대

- null 체크를 항상 수행하도록 경고할 수 있다.

    @Nullable
    public CustomObject object;
    
    public void method() {
    
        ...
    
        System.out.println(object.id); // Null 체크를 하지 않고 raw하게 사용할 시 경고
        
        ...
        
    }