Deprecated — 폐기 애너테이션

Deprecated — 폐기 애너테이션

@Deprecated로 애너테이션된 프로그램 요소는 프로그래머가 사용하지 말도록 권장되는 요소입니다. 요소는 여러 이유로 폐기될 수 있습니다. 예를 들어 사용 시 오류를 유발할 가능성이 있거나, 향후 버전에서 호환되지 않게 변경되거나 제거될 수 있거나, 더 새롭고 보통 더 나은 대안으로 대체되었거나, 구식이 되었을 수 있습니다.

출처: Java API Reference

본문

컴파일러는 폐기된 프로그램 요소가 비폐기 코드에서 사용되거나 재정의될 때 경고를 발행합니다. 지역 변수 선언, 매개변수 선언, 패키지 선언에 @Deprecated를 사용하는 것은 컴파일러가 발행하는 경고에 영향을 주지 않습니다.

@Documented
@Retention(RUNTIME)
@Target({CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, MODULE, PARAMETER, TYPE})
public @interface Deprecated

모듈이 폐기되면 requires 절(단, exportsopens에서는 제외)에서 해당 모듈을 사용할 때 경고가 발생합니다. 폐기된 모듈이 그 안의 타입 사용에 대해 경고를 발생시키지는 않습니다.

요소

String since
boolean forRemoval
  • since — 애너테이션된 프로그램 요소가 처음 폐기된 버전을 나타내는 문자열 값입니다.
  • forRemovaltrue이면 향후 버전에서 애너테이션된 요소를 제거할 의도가 있음을 나타냅니다. false이면 사용이 권장되지 않지만, 애너테이션 당시에는 제거할 특정 의도가 없었음을 나타냅니다.

더 알아보기 (Learn more)