ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Annotation(어노테이션)
    Java & Spring/자바 2020. 10. 20. 20:09
    반응형

    Annotation

    • Annotation은 본래 주석이란 뜻이지만, 현재는 주석과 달리 주석처럼 코드에 달아서 클래스에 특별한 의미를 부여하거나 기능을 주입하는 기능을 가지고 있다.
    • 런타임 시 특정 기능을 실행하도록 정보 제공
    • 3 종류
      • Built-in annotation
        • JDK에 내장되어 있으며 @Override가 대표적인 예시
      • Meta annotation
        • 어노테이션에 대한 정보를(동작 대상과 시점 결정) 나타내기 위한 어노테이션
        • @Target이나 @Retention과 같은게 대표 예시
      • Custom Annotation
        • 개발자가 직접 만드는 어노테이션
        • Meta annotation을 활용해서 만들 수도 있음
        • 스프링 프레임워크에서 주로 의존성 주입(@Autowired)과 역할 정의(@service과 같은 것)에 활용
    • 제약 사항
      • interface 앞에 기호 @를 붙여서 생성
      • 어노테이션 타입 선언은 제네릭일 수 없음
      • extends 절을 가질 수 없음(어노테이션은 암묵적으로 java.lang.annotation.Annotation을 확장하기 때문)
      • 메소드는 매개변수를 가질 수 없음
      • 메소드 선언은 throws 절을 가질 수 없음
      • 어노테이션은 인터페이스의 한 종류기 때문에 추상 메소드로 작성해야함
    반응형

    'Java & Spring > 자바' 카테고리의 다른 글

    String vs (StringBuilder vs StringBuffer) (JAVA)  (0) 2020.10.20
    Final 키워드 (JAVA)  (0) 2020.10.20
    동기화(Synchronized)  (0) 2020.10.20
    JVM & GC (JAVA)  (0) 2020.10.20
    객체지향 프로그래밍 (OOP)  (0) 2020.10.20

    댓글

Designed by Tistory.