위로 아래

@ Annotation

어노테이션(Annotation) 

  1. 자바 소스 코드에 추가하여 사용할 수 있는 메타 데이터의 일종
  2. Annotation을 잘 활용하면 비즈니스 로직과 별도의 시스템 설정은 Annotation에게 위임함으로 개발자들은 로직 구현에만 집중할 수 있다.
  3. Annotation을 통해 AOP(관점 지향 프로그래밍)을 구성할 수 있다.
  4. 메타데이터 : 컴파일 타임과 런타임에서 코드를 어떻게 컴파일하고 처리할 것인지 알려주는 정보 

 

종류

  1. @Override : 오버라이딩 메소드임을 나타낸다. 부모 클래스나 인터페이스에 해당 메소드가 없으면 컴파일 오류 발생
  2. @SuppressWarnings : 해당 어노테이션이 있는 코드에서는 컴파일 경고를 무시
  3. @Deprecated : 더 이상 사용하지 않는 메소드를 뜻한다. 그래도 메소드를 사용할 경우 컴파일 경로를 발생
  4. @SafeVarargs : 가변인자 매개변수를 사용할 때 경고를 무시
  5. @FunctionalInterface : 메소드가 하나만 존재하는 인터페이스로 함수형 프로그래밍의 람다 함수를 위한 인터페이스를 나타낸다. 메소드가 하나가 아닐 경우 컴파일 오류 발생
  6. @Native : 네이티브 코드에서 참조할 수 있는 상수를 나타낸다.