Free Lines Arrow
본문 바로가기
Language/Java

[Java] Annotation

by skahn1215 2021. 8. 20.
728x90
반응형

Annotation

  • @ 기호를 앞에 붙여서 주석처럼 사용한다.
  • 메타데이터를 먼저 이해해야 된다.

 

 

 

Meta Data

  • 데이터에 대한 데이터 이다.

  • 대량의 정보 가운데에서 찾고 있는 정보를 효율적으로 찾아내서 이용하기 위해
    일정한 규칙에 따라 콘텐츠에 대하여 부여되는 데이터이다.

  • 예를 들자면 카드목록이다.
  • 카드를 빨리 찾기 위해 가나다순, 서명순, 저자명 순 등의 메타데이터가 필요하다.

 

 

Annotation 의 사용용도

  • 코드 문법 에러검증
  • 코드 자동생성 정보 제공
  • 런타임시 특정기능 제공

 

 

Annotation 의 종류

 

자바 코드에 적용되는 내장 애너테이션

  • @Override
    - 해당 어노테이션을 주게 되면 오버라이드 대상인지 확인 할 수 있다
    - 확인후 잘못 되었으면 에러가 발생한다.


  • @Deprecated
    - 코드에서 더이상 사용하지 않는 다는 의미다.
    - 차후에 없어질 코드에 붙인다.

  • @SuppressWarnings
    - 컴파일시 컴파일 경고를 사용하지 않도록 설정할 수 있다.

기타 애너테이션에 적용되는 애너테이션 (메타 애너테이션)

  • @Retention
    - 어노테이션의 범위를 지정한다.
  • @Documented
    - 문서에도 너오테이션 정보를 표햔다.

  • @Target
    - 어노테이션을 적용할 위치를 지정한다.

  • @Inherited
    - 자식클래스가 어노테이션도 상속 받을수 있다.

 

 

자바 7부터 추가 애너테이션이 언어에 추가되었다.

  • @SafeVarargs
    - 제너릭 같은 가변인자의 매개변수를 사용할 때의 경고를 무시한다.

  • @FunctionalInterface
    - 함수형 인터페이스를 지정하는 어노테이션입니다.
    - 메서드가 존재하지 않거나 1개 이상을 가지면 에러를 발생시킨다.
    - 람다와 주로 같이 사용된다.

  • @Repeatable
    - 연속적으로 어노테이션을 선언할 수 있게 해준다.
728x90
반응형

'Language > Java' 카테고리의 다른 글

[Java] String, StringBuffer, StringBuilder  (0) 2021.08.23
[Java] String Object 와 String literal, 동일성 동등성  (0) 2021.08.21
[Java] Collection Framework  (0) 2021.08.20
[Java] Lambda  (0) 2021.08.06
[Java] Sort  (0) 2021.05.29

댓글