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

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

어노테이션 사용하는 이유

어노테이션은 사용 용도로 3가지가 있습니다.
1. 컴파일 시 사용하는 정보 전달
2. 빌드 툴이 코드를 자동으로 생성할 때 사용하는 정보 전달
3.실행 시 특정 기능을 처리할 때 사용하는 정보 전달

컴파일 시 사용하는 정보 전달의 대표적인 예는 @Override 어노테이션입니다.

컴파일러가 메소드 재정의 검사를하도록 설정합니다. 재정의되지 않았다면 컴파일러는 에러를 발생시킵니다.

웹 개발에 많이 사용하는 Spring Framework 또는 Spring Boot는 다양한 종류의 어노테이션을 사용해서 웹 애플리케이션을 설정하는데 사용합니다.

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

 

어노테이션을 정의하는 방법은 인터페이스를 정의하는것과 유사합니다.

@interface 뒤에 사용할 어노테이션을 이름을 정의합니다.

오노테이션은 속성을 가질 수 있으며, 속성은 타입과 이름으로 구성됩니다. 속성은 기본값 default 키워드로 지정할 수 있습니다.

어떤 대상에 설정 정보를 적용할 것인지, 적용대상을 정의 해야 합니다.

클래스 명위에 @Target 어노테이션을 붙어 정의 합니다.
적용할 수 있는 대상의 종류는 ElememtType 열거 상수로 정의되어 있습니다.
TYPE : 클래스, 인터페이스 열거타입
ANOTATION_TYPE: 어노테이션
FIELD: 필드
CONSTERUCTOR: 생성자
METHOD: 메서드
LOCAL_VARIABLE: 로컬 변수
PACKAGE: 패키지
@Target의 기본 속성인 value는 배열을 값을 가질 수 있습니다.

어노테이션을 정의할 때 한 가지 더 추가해야 할 내용은 @AnnotationNamed 언제까지 유지 할 것인지 지정하는 우지 정책을 정해야합니다.
RetentionPolicy 열거 상수
image

댓글을 작성해보세요.