[인프런 워밍업 클럽0기] BE 1일차 과제

질문 : 어노테이션을 사용하는 이유(효과)는 무엇일까?

어노테이션의 용도는 크게 3가지로 볼 수 있다.

  1. 컴파일시 코드 문법 에러 체크등의 정보를 제공

  2. 빌드툴이 코드를 자동생성

  3. 실행시 특정 기능을 수행하도록 정보 제공

 

어노테이션의 가장 큰 장점 '간결함'
- 적재적소에 사용된다면 불필요한 반복코드가 줄어드는 이점을 가진다.

어노테이션이 가진 단점

- 어노테이션의 의도가 숨어있기 때문에 내부적으로 어떤 동작을 하게 되는지 명확하지 않다면 해당 어노테이션을 이해하기 어렵다. 이러한 이유로 쉽게 손을 대기 어려운 문제점이 존재한다.

  • 나만의 어노테이션은 어떻게 만들 수 있을까?

     

  • 정의: @interface키워드를 사용하여 정의

  • 지켜야할 조건

     

    1.어노테이션 타입은 자동적으로 java.lang.Annotation 인터페이스를 상속해서 다른 클래스나 인터페이스를 상속받지 않는다.

    2.

    파라미터 멤버들의 접근자는 public이거나 default 이다.

     

    3.파라미터 멤버들은 byte, short, char, int ,float, double, boolean의 기본 타입과 String, Enum, Class, 어노테이션만 사용할 수 있다.

@Retention : 어노테이션이 언제까지 유효할지 정하는 어노테이션이다.

RUNTIME = 컴파일 이후에도 참조 가능
CLASS = 클래스를 참조할 때까지 유효
SOURCE 컴파일 이후 어노테이션 정보 소멸

댓글을 작성해보세요.

채널톡 아이콘