인프런 워밍업 스터디 BE 1일

어노테이션

 

어노테이션이란 ?

  • 클래스나 메서드 또는 변수에 @ 를 사용하는 것을 말함

  • 사전적으로는 주석이라는 의미지만 우리가 흔히 아는, 컴파일 되지 않는 주석과는 다름

  • 클래스, 메서드, 변수 위에 달아 특별한 의미를 부여하고 주입할 수 있음

 

built-in 어노테이션

  • 자바 내에 내장되어 있는 어노테이션

meta 어노테이션

  • 다른 어노테이션에 적용되기 위한 어노테이션

  • 즉, 커스텀 어노테이션을 만들 시 해당 어노테이션이 가지고 있는 특징 들을 잡아줄 수 있음

 

어노테이션의 기능

  • 코드 가독성 상승

  • 추후 유지보수가 편리해짐

  • 컴파일러를 통한 경고 체크 및 에러 수정이 보다 쉽게 가능

     

     

    커스텀 어노테이션

  • 사용자가 직접 커스텀 어노테이션을 만들 수 있음

     

  • 인터페이스 앞에 @를 붙여 커스텀 어노테이션을 만들 수 있음

    public @interface MyAnnotation {
        String name();
        String value();
    }
  • 메타 어노테이션을 사용하여 커스텀 어노테이션을 보다 세밀하게 만들 수 있음

    • Target을 통해 type. 즉 class, interface, enum에 적용될 수 있도록 설정

    • Retention을 통해 어노테이션이 어느 레벨까지 적용될 수 있는지 설정

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface MyAnnotation {
    String name();
    String value();
}

@MyAnnotation(name = "someName", value = "Hello World")
public class TheClass {
}

 

 

댓글을 작성해보세요.

채널톡 아이콘