봉봉의 개인 블로그

2017-07-03-Java Annotations(어노테이션) 본문

학원에서 배운것들/TEA - E

2017-07-03-Java Annotations(어노테이션)

봉봉이네 2017. 7. 3. 15:34

1.Annotation(어노테이션)

Annotation 은 잘만 쓰면 정말 유용한 java 의 구문입니다. 기본적인 종류는 몇가지에 한정 되지만 본인의 입맛대로 커스텀 Annotation도 만들어 낼수 있습니다. 따라서 Annotation의 종류는 무궁무진하게 만들어 낼수 있습니다.

Annotation 은 본질적인 목적은 소스코드에 메타 데이터를 표현하는 것입니다. 단순히 부가적인 표현뿐만 아니라 리플렉션을 이용하면 Annotation 지정만으로도 원하는 class 를 주입한다는지 하는 것이 가능합니다.


2.Built-in Annotation

Java 에서는 기본적으로 제공하는 Annotation 들이 존재합니다.

-@Override : 메서드가 오버라이드 됐는지 검증합니다. 만약 부모 class 또는 구현해야할 interface에서 해당 메서드를 찾을 수 없다면 컴파일 오류가 납니다.

-@Deprecated : 메서드를 사용하지 말도록 유도합니다. 만약 사용한다면 컴파일 경고를 일으킵니다.

-@Suppresswarnings : 컴파일 경고를 무시하도록 합니다.

-@SafeVarargs : 제너릭 같은 가변인자 매개변수를 사용할때 경고를 무시합니다(java 7 이상)

-@FunctionalInterface : 람다 함수들을 위한 interface를 지정합니다. 메서드가 없거나 두개 이상 되면 컴파일 오류가 납니다.(java8 이상)


3.Meta Annotations

위에서 본 기본 Annotation외에도 Meta Annotation 들이 있습니다. 이 Meta Annotation을 이용해 커스텀 어노테이션을 만들어 낼 수 있습니다.

-@Retention : Annotation의 범위 라고 할 수 있겠습니다. 어떤 시점까지 Annotation이 영향을 미치는지 결정합니다.

-@Documented : 문서에도 Annotation의 정보가 표현됩니다.

-@Target : Annotation 이 적용할 위치를 결정합니다.

-@Ingerited : 이 Annotation을 선언하면 부모 class에서 Annotation 을 상속 받을수 있습니다.

-@Repeatable : 반복적으로 Annotation 을 선언할수 있게 합니다.


*수업 : 팀프로젝트수업함


'학원에서 배운것들 > TEA - E' 카테고리의 다른 글

2017-07-05-schema(스키마)  (0) 2017.07.05
2017-07-04-개발 방법론  (0) 2017.07.04
2017-06-13-E  (0) 2017.06.13
2017-06-12-E  (0) 2017.06.12
2017-06-05-E  (0) 2017.06.06
Comments