어노테이션의 설명 범위
@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");
}
}
'# 02 > Java' 카테고리의 다른 글
[윤성우 열혈자바] 26-2. 람다의 소개 (0) | 2019.10.25 |
---|---|
[윤성우 열혈자바] 26-1. 네스티드 클래스와 이너 클래스 (0) | 2019.10.25 |
[윤성우 열혈자바] 25-2. 매개변수의 가변 인자 선언 (0) | 2019.10.25 |
[윤성우 열혈자바] 25-1. 열거형 (0) | 2019.10.25 |
[윤성우 열혈자바] 24-1. 컬렉션 기반 알고리즘 (0) | 2019.10.25 |