#aspect-oriented programming #AOP
기능이 있는 주석.
클래스, 인터페이스, 메소드, 메소드 파라미터, 필드, 지역변수 위에 올 수 있다.(마치 진짜 주석처럼)
@Deprecated
@Deprecated public class MyComponent { }
MyComponent 메소드는 더이상 쓰지 않는다
더 좋은 방법이 있거나 만들어놓고 보니까 안쓰는게 낫다 싶을때
저렇게 해놓으면 저 메소드를 쓰면 컴파일레벨에서 워닝을 뱉어준다
@Override
public class MySuperClass {
public void doTheThing() { System.out.println("Do the thing"); }
}
public class MySubClass extends MySuperClass{
@Override
public void doTheThing() { System.out.println("Do it differently"); }
}
부모클래스로부터 오버라이드 되었다는것을 표시한다.
부모클래스 인터페이스가 수정되었을때 자식클래스를 수정하지 않으면 지옥가는 경우가 있다.
Override어노테이션을 쓰면 컴파일러가 에러를 내준다.
@SuppressWarnings
해당 어노테이션이 있는 메쏘드,변수 등에대한 워닝을 숨겨준다.