Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java 9의 @Deprecated 어노테이션에 추가된 새로운 속성: since와 forRemoval

Java 9에서는 @Deprecated 어노테이션에 두 가지 새로운 속성이 추가되었습니다. 바로 sinceforRemoval입니다. 이 두 속성은 모두 선택 사항(optional)이며, 값을 지정하지 않으면 각각의 기본값(default value)이 적용됩니다.

since 속성

since는 문자열(String) 타입의 속성으로, 해당 API가 어떤 버전부터 사용 중단(deprecated)되었는지를 명시합니다. 기본값은 빈 문자열(empty string)입니다.

문법

@Deprecated(since="<버전>")

forRemoval 속성

forRemoval은 boolean 타입의 속성으로, 해당 API가 향후 릴리스에서 제거될 예정인지 여부를 나타냅니다. 값을 지정하지 않을 경우 기본값은 false입니다. 즉, forRemoval=true로 설정하면 이 API가 조만간 완전히 삭제될 것임을 개발자에게 경고하는 의미가 됩니다.

문법

@Deprecated(forRemoval=<boolean>)

예제 코드

아래 예제는 두 속성을 함께 사용하는 방법을 보여줍니다.

public class DeprecatedAnnotationTest {
    public static void main(String[] args) {
        DeprecatedAnnotationTest test = new DeprecatedAnnotationTest();
        test.method1();
        test.method2();
    }
    @Deprecated(since="7.0")
    public void method1() {
        System.out.println("@Deprecated(since=\"7.0\")");
    }
    @Deprecated(since="5.0", forRemoval=true)
    public void method2() {
        System.out.println("@Deprecated(since=\"5.0\", forRemoval=true)");
    }
}

실행 결과

@Deprecated(since="7.0")
@Deprecated(since="5.0", forRemoval=true)

정리

Java 9 이전에는 @Deprecated 어노테이션이 단순히 '사용 중단'이라는 사실만 표시할 수 있었습니다. 하지만 Java 9부터 since로 폐기된 버전 정보를 제공하고, forRemoval로 향후 제거 계획 여부를 명확히 전달할 수 있게 되어 API 유지보수와 마이그레이션 안내가 한층 수월해졌습니다.