본문 바로가기

# 02/Java

[윤성우 열혈자바] 25-3. 어노테이션

반응형

어노테이션의 설명 범위


@Override


@Deprecated


@SuppressWarnings





어노테이션 관련 문서 - 봐도 되고... 안봐도 됨!!


JSR 175 "A Metadata Facility for the Java Programming Language."


JSR 250 "Common Annotations for the Java Platform"









@Override


interface Viewable {


public void showIt(String str);

}



class Viewer implements Viewable {


@Override

public void showIt(String str) {

System.out.println(str);

}

}


매개변수 타입을 다르게 해서 오버로딩이 되지 않도록 주의 해야 한다!! 

오버라이딩 하고 싶은데 오버로딩 한 경우 컴파일 에러를 발생시키기 위해  @Override 어노테이션을 사용한다!!








@Deprecated


interface Viewable {


@Deprecated

public void showIt(String str);            // Deprecated 된 메소드

문제의 발생 소지가 있거나 개선된 기능의 대른것으로 대체되어서 더 이상 필요 없게 되었음을 뜻 함 - 하위호환성을 위한 것임


public void brShowIt(String str);

}


class Viewer implements Viewable {

@Override

public void showIt(String str) {

System.out.println(str);

}    // 컴파일러 경고


@Override

public void brShowIt(String str) {

System.out.println('[' + str + ']');

}

}


public static void main(String[] args) {

Viewable view = new Viewer();

view.showIt("Hello Annotations");        // 컴파일러 경고

. . . .

}










@SuppressWarnings


interface Viewable {

@Deprecated

public void showIt(String str);

public void brShowIt(String str);

}


class Viewer implements Viewable {

@Override                        deprecation 관련 경고 메시지를 생략하라는 의미

@SuppressWarnings("deprecation")

public void showIt(String str) { System.out.println(str); }


@Override

public void brShowIt(String str) { System.out.println('[' + str + ']'); }

};


class AtSuppressWarnings {                    deprecation 관련 경고 메시지를 생략하라는 의미

@SuppressWarnings("deprecation")

public static void main(String[] arsg) {

Viewable view = new Viewer();

view.showIt("Hello Annotations");

view.brShowIt("Hello Annotations");

}

}



반응형