본문 바로가기
Language/Java

자바 어노테이션(Annotation) 개념 및 사용방법 정리

by wakestand 2020. 10. 5.
반응형

자바에서 어노테이션은 @로 시작하는 값들을 말하는데

클래스, 메소드, 변수 등 여기저기 붙일 수 있지만

메소드 위에 붙여 사용하는 경우가 대부분이다

 

어노테이션이란 메타 데이터라고 하는데

메타 데이터는 데이터에 대한 데이터다

하지만 이걸 봐도 뭔 말인지

전혀 이해가 되지 않을 것이다

 

이해가 쉽게 예를 들어보자면

메소드 위에 어노테이션을 붙여주면

메소드에 특정 옵션을 넣어준다고 보면 된다

 

예를 들어 method1 위에

@Override를 붙인 것이 보이는데

 

@Override는

오버라이드(상속받은 메소드를 동일한 이름으로 새로 작성하는 것)를

하지 않을 경우 에러가 발생한다

 

자바 오버라이드, 오버로드 차이 알아보기

Parent 클래스를 Child 클래스가 상속(extends) 받은 뒤 Child 를 c라는 이름으로 객체화해서 c의 call 메소드를 호출하는 코드인데 이 코드를 가지고 오버라이드와 오버로드의 차이를 알아보자 먼저 오��

wakestand.tistory.com

즉 해당 메소드를 사용할 경우

반드시 Override를 해줘야 한다

 

다음 예제로 method2 위에

@Deprecated를 사용한 것이 보이는데

메소드에 줄이 그어진 것이 보인다

 

사용 불가능한건 아닌데 가급적이면 사용하지 마라

이런 의미가 되겠다

 

마지막으로 정리해 보자면

어노테이션이란 붙여준 곳 위에

특정 옵션을 붙여줄 수 있는데

대부분은 메소드 위에 사용된다

 

일반 주석(Comment)과의 차이는

어노테이션은 컴파일러에서 읽을 수 있는 주석이기 때문에

일반 주석은 읽고 씹어도 되지만

어노테이션은 에러를 유발시킬 수 있어서(@Override)

읽고 씹지 못하는 경우가 있어서 옵션을 맞춰줘야 한다

 

실전에서는 기존 어노테이션 보다는

커스텀 어노테이션을 주로 사용하게 되는데다

기능이 뭔지 모르면 커서를 가져가면 뜨기 때문에

모든 종류를 모두 모른다고 해도 큰 상관은 없다

반응형

댓글