어노테이션 이란?(@annotaion)
- 주석처럼 프로그래밍 언어에 영향을 미치지 않으며, 유용한 정보를 제공한다.
어노테이션의 등장배경
@Test // 이 메서드가 테스트 대상임을 테스트 프로그램에게 알린다.(Junit의 어노테이션)
public void method(){
....
}
표준 어노테이션

*가 붙은 메타 어노테이션은 어노테이션을 만들때 사용
@Override
- 오버라이딩을 올바르게 했는지 컴파일러가 체크하게 한다.
(Javac.exe 가 사용하는 어노테이션)
- 오버라이딩할 때 메서드이름을 잘못적는 실수를 하는 경우가 많다.
class Parent {
void parentMethod(){ }
}
class Child extends Parent {
void parentmethod(){ } // 오버라이딩하려 했으나 실수로 이름을 잘못적음(M, m의 차이)
}
- 위의 코드처럼 오버라이딩을 하려했으나 메서드명을 잘못적어 오버라이딩이 안되는 경우가 있다. 이러한 문제를 예방하기위해 @Override와 를 작성하게되었다.
- 또한 다른누군가가 보았을때 직관적으로 @Override 되었다는것을 확인하기 쉽다.
- 만약 잘못된 메서드명에 @Override 를달고 컴파일할경우 override에 대한 에러가 발생한다.
@Deprecated
- 앞으로 사용하지 않을 것을 권장하는 필드나 메서드에 붙인다.
- @Deprecated의 사용 예, Date 클래스의 getDate();