주석, 주해, 메모
프로그램의 소스코드 안에 다른 프로그램을 위한 정보를 미리 약속된 형식으로 포함시킨 것
프로그래밍 언에 영향을 미치지 않으면서도 다른 프로그램에게 유용한 정보를 제공할 수 있음
annotation의 종류
@SuppressWarmomgs({"deprecation", "unchecked"})
@SafeVarags를 붙이면, 이 메서드를 호출하는 곳에서 발생하는 경고도 억제 됨(@SupressWarning("unchecked")로 억제하려면, 메서드 선언뿐만 아니라 호출되는 곳에도 에너테이션을 부여햐 함)
@SafeVarags로 'unchecked'경고는 억제할 수 있지만, 'varags'경고는 억제할 수 없음
*reifiable: 컴파일 후에도 제거되지 않는 타입
non-reifiable: 컴파일 후에 제거되는 타입 ex) 지네릭 타입
java의 정석 chapter12