[java] JSR 305을 활용한 자바 코드의 유연성 개선

소개

JSR 305는 자바 애플리케이션의 코드 유연성을 개선하기 위해 사용되는 도구입니다. 이 기능은 코드의 가독성과 유지보수성을 향상시킬 수 있으며, 버그를 사전에 방지할 수 있는 기능을 제공합니다.

어노테이션을 통한 코드 유연성 개선

JSR 305는 코드의 유연성을 개선하는 데 도움이 되는 여러 가지 어노테이션을 제공합니다. 다음은 몇 가지 주요 어노테이션의 예시입니다.

@Nullable

@Nullalbe 어노테이션은 메서드나 매개변수가 null 값을 허용한다는 것을 명시적으로 표시하는 데 사용됩니다. 이를 활용하면 null 체크를 강제할 수 있으며, NPE(Null Pointer Exception)를 방지할 수 있습니다.

@Nonnull

@Nonnull 어노테이션은 메서드나 매개변수에 null 값을 허용하지 않는다는 것을 명시적으로 표시하는 데 사용됩니다. 컴파일러는 해당 어노테이션을 통해 null 체크를 요구하며, 코드의 안정성을 향상시킵니다.

@CheckReturnValue

@CheckReturnValue 어노테이션은 메서드의 반환값을 무시하지 않도록 경고하는 역할을 합니다. 이를 통해 개발자는 반환값을 활용하지 않는 실수를 사전에 방지할 수 있습니다.

예시 코드

public class Example {
  public void process(@Nullable String input) {
    if (input != null) {
      // do something
    }
  }

  @Nonnull
  public String getString() {
    // return a non-null string
  }

  @CheckReturnValue
  public int calculate(int a, int b) {
    // calculate something
    return result;
  }
}

결론

JSR 305을 활용하면 자바 코드의 유연성을 개선할 수 있습니다. 어노테이션을 통해 null 값 처리를 명확히 하고, 반환값을 무시하지 않도록 유도함으로써 코드의 가독성과 안정성을 향상시킬 수 있습니다. 이를 통해 버그를 사전에 방지하고 유지보수성을 높일 수 있습니다.

참고 자료