Deprecated — 폐기 애너테이션
Deprecated — 폐기 애너테이션
@Deprecated로 애너테이션된 프로그램 요소는 프로그래머가 사용하지 말도록 권장되는 요소입니다. 요소는 여러 이유로 폐기될 수 있습니다. 예를 들어 사용 시 오류를 유발할 가능성이 있거나, 향후 버전에서 호환되지 않게 변경되거나 제거될 수 있거나, 더 새롭고 보통 더 나은 대안으로 대체되었거나, 구식이 되었을 수 있습니다.
본문
컴파일러는 폐기된 프로그램 요소가 비폐기 코드에서 사용되거나 재정의될 때 경고를 발행합니다. 지역 변수 선언, 매개변수 선언, 패키지 선언에 @Deprecated를 사용하는 것은 컴파일러가 발행하는 경고에 영향을 주지 않습니다.
@Documented
@Retention(RUNTIME)
@Target({CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, MODULE, PARAMETER, TYPE})
public @interface Deprecated
모듈이 폐기되면 requires 절(단, exports나 opens에서는 제외)에서 해당 모듈을 사용할 때 경고가 발생합니다. 폐기된 모듈이 그 안의 타입 사용에 대해 경고를 발생시키지는 않습니다.
요소
String since
boolean forRemoval
since— 애너테이션된 프로그램 요소가 처음 폐기된 버전을 나타내는 문자열 값입니다.forRemoval—true이면 향후 버전에서 애너테이션된 요소를 제거할 의도가 있음을 나타냅니다.false이면 사용이 권장되지 않지만, 애너테이션 당시에는 제거할 특정 의도가 없었음을 나타냅니다.