[인프런워밍업클럽][BE] 과제 1 | Annotation
9개월 전
[질문]
어노테이션을 사용하는 이유 (효과) 는 무엇일까?
나만의 어노테이션은 어떻게 만들 수 있을까?
1. Annotation
1.1 Annotation
어노테이션(Annotation) 이란?
프로그래밍 언어에는 영향을 미치지 않으면서 프로그램에게
소스코드 안에 다른 프로그램을 위한 정보를 미리 약속된 형식으로 포함시키기 위해 추가
이 속성/클래스의 용도/역할/기능을 부여
컴파일러에게 코드 문법 에러를 체크할 수 있도록 정보 제
어노테이션(Annotation)의 사용 이유
구성/설정 정보를 외부 XML 설정 파일에 명시하는 기존 자바 웹 애플리케이션 구조 하에서는 규모가 커지거나 코드의 수정이 이뤄짐에 따라 수 많은 재 설정이 필요했음
어노테이션은 어노테이션이 붙은 클래스/함수 등의 메타데이터를 간단한 @어노테이션명 형식으로 명시함으로써, 해당 기능을 간단하게 설정하여 수행토록 함
어노테이션의 특징
간결함 : 비즈니스 로직에 영향을 주지 않으면서 실행 흐름을 변경시킬 수 있는 코딩이 가능해
클래스, 메서드, 변수, 인자에 추가 가능
대표적인 어노테이션
@Controller
@Override
1.2 Custom Annotation
사용자가 직접 정의하여 사용하는 어노테이션
프레임워크나 API 등을 만들어 사용할 때 주로 사용
(1) Custom Annotation 정의하기
@interface 를 통해 해당 클래스를 어노테이션으로 정의
어노테이션 내부에 값을 가지거나 설정할 수 있음
(참고한 블로그에서는 다른 어노테이션이 더 붙으나 아직 이해하지 못해서 아래 코드에는 넣지 않음)
import java.lang.annotation.*;
public @interface CustomApplication{
String bookName();
int price() default 10000; //값 설정 시 default 형태로 설정해야 함
}
(2) Custom Annotation 사용하기
import java.lang.annotation.*;
@CustomAnnotation(bookName = "일리아스")
class BookInfo {
}
참고자료
댓글을 작성해보세요.