1. Annotation이란?

 

가끔 코드들을 보다보면, 앞에 @가 붙어있는 것을 보게됩니다. 이는 애너테이션(annotation)인데, 애너테이션은 소스코드에 대한 정보를 소스코드의 주석(/** ~ */)에 저장한 것으로, 소스코드의 주석으로부터 HTML문서를 생성해내는 프로그램인 javadoc.exe을 만들어 사용합니다.

 

애너테이션의 장점으로, 주석처럼 프로그래밍 언어에 영향을 미치지 않으면서도 다른 프로그램에게 유용한 정보를 제공합니다.

 

이러한 프로그램의 소스코드 안에 다른 프로그램을 위한 정보를 미리 약속된 형식으로 포함시킨 것이 애터네이션입니다.

 

애너테이션은 크게 표준 애너테이션, 메타 애너테이션, 사용자정의 어노테이션이 있는데 이번 포스팅에는 표준 애너테이션에 대해 알아보겠습니다.

 

 

2. 표준 애너테이션

 

표준에너테이션은 자바에서 기본적으로 제공하는 에너테이션입니다.

 

 - @Override

 

대표적인 어노테이션으로, @Override라는 것을 본 적이 있을 것 입니다. 이는 메서드 앞에만 붙일 수 있는 어노테이션으로, 조상의 메서드를 오버라이딩 한 것을 컴파일러에게 알리는 역할을 합니다. 

 

 - @Deprecated

 

더이상 사용되지 않는 필드나 메서드에 @Deprecated를 붙이는데, 이는 새로운 기능이 추가되면서 원래의 기능을 대체해도 이미 사용되고 있을지 모를 때에 위의 애너테이션을 사용합니다.

 

 - @FunctionalInterface

 

함수형 인터페이스를 선언할 때 이 애너테이션을 붙이면 컴파일러가 함수형 인터페이스를 올바르게 선언했는데지 확인하고, 잘못된 경우 에러를 발생시킵니다. 이는 실수를 방지할 수 있으므로 완성도를 높이는 데 큰 도움이 됩니다.

 

 - @SuppressWarning

 

컴파일러가 보여주는 경고메시지가 나타나지 않게 억제해줍니다. 경우에 따라 경고가 발생할 것을 알면서도 묵인해야 할 때가 있는데, 이 경고를 그대로 놔두면 컴파일 할 때마다 에러메시지가 나타나기 때문에 이와 같은 경우에 사용합니다.

@SuppressWarning("unchecked")	//지네릭스로 타입을 지정하지 않았을 때
@SuppressWarning("deprecation")	//@Deprecated가 붙은 대상을 사용해서 발생하는 경고에 대해
@SuppressWarning("rawtypes")	//지네릭스를 사용하지 않아서 발생하는 경고에 대해
@SuppressWarning("varargs")		//가변인자의 타입이 지네릭 타입일 때 발생하는 경고에 대해

 

https://nancording.tistory.com/13

 

Java 매개변수와 인자

처음 자바를 공부할때 매개변수, 인자에 대해 궁금한 게 많았습니다. 심지어 연관이 있다보니 조금만 이해한 상태에서 번갈아 듣다보면 혼란스럽기도 했습니다. 확실히 짚고 넘어가야 할 매개��

nancording.tistory.com

인자에 대한 설명입니다. 가변인자는 인자에서 값이 정해지지 않은 것을 의미합니다.

 

 

지금까지 설명한 애너테이션에 대해 간략하게 표로 설명하겠습니다.

애너테이션

설명

@Override

컴파일러에게 오버라이딩하는 메서드라는 것을 알린다.

@Deprecated

앞으로 사용하지 않을 것을 권장하는 대상에 붙인다.

@SuppressWarning

컴파일러의 특정 경고메시지가 나타자니 않게 해준다.

@FunctionalInterface

함수형 인터페이스라는 것을 알린다.

 

 

 

출처 : 자바의 정석

'코딩 > Java' 카테고리의 다른 글

Java DTO, VO  (0) 2020.09.06
Java Properties class  (0) 2020.08.10
Java List, Set, Map  (0) 2020.07.20
Java Iterator  (0) 2020.07.16
Java 오늘 날짜 기준으로 일주일 출력하기  (0) 2020.07.12
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기