애노테이션(annotation)은 사전에서 '주석' 이라고 정의한다. 주석은 /** .. */으로 표현을 하는데 이는 우리 개발자들이 소스코드를 보는 데 도움을 주는 주석이라면 애노테이션은 우리뿐 아니라 컴파일러에게 도움을 주기 위해 작성하는 주석이라고 볼 수 있다. 이번 글에서는 애노테이션을 이미 만들어진 built-in 애노테이션(@Override , @Deprecated , @SuppressWarnings , @SafeVarags)를 소개하는 것은 아니고 직접 애노테이션을 정의해보면서 이해를 해보도록 한다. @Override : 컴파일러에게 오바리이딩하는 메서드라는 것을 알린다. @Deprecated : 앞으로 사용하지 않을 것을 권장하는 대상에 붙인다. @SuppressWarnings : 컴파일러..