자바에서는 소스 코드에 코드 외에 부가적인 정보를 넣을수 있는 기능이 있다. 이떄 넣는 정보를 어노테이션이라고 하며, 어노테이션은 코드에는 영향을 주지 않는다. 마치 주석과 같고 어노테이션은 메타데이터 라고도 부른다. 어노테이션은 코드 개발에 있어서 중요한 정보를 주는 경우가 많아서 많이 사용합니다. 자바 언어에서 어노테이션을 여러 개가 있지만 그 중에서 일반적이고 많이 볼 수 있는 것들ㅇ르 정리해 보 자
| @inherited | 하위 클래스가 상속받는 상위 클래스임을 알림 |
|---|---|
| @Override | 상위 클래스의 메소드를 오버라이딩했음을 알림 |
| @Deprecated | 해당 아이템은 더 이상 사용하지 말라는 알림 |
| @SuppressWarnings | 컴파일러에 의해 워닝이 뜨지 않도록 함 |
| @Functionallnterface | 함수형 인터페이스임을 알림 |
위의 어노테이션 중에서 @Deprecated 을 연습해 보자, 아래 예제에서 Msg() 메소드바로 위에 @Deprecated 라고 어노테이션 하면, getMsg() 이름 위에 가로로 표시가 하나 붙었다 사용할수는 있으나 권고하지 않는다는 의미이다
package annotations;
class Test{
private String msg;
Test(String m){
msg = m;
}
@Deprecated
String getMsg(){
return msg;
}
}
public class Codes {
public static void main(String[] args){
Test t = new Test("hello");
System.out.println(t.getMsg());
}
}
getMsg()는 권고하지 않는다