백/Java

[Java] 자바(Java) 어노테이션(Annotation)이란?

연지양갱 2023. 10. 25. 00:00
728x90
반응형
SMALL

자바 스프링 부트 공부하면서 어노테이션(@)을 많이 봤는데 공부를 먼저 해야할 것 같습니다

 

어노테이션(Annotation)이란?

어노테이션(Annotation)이란 자바 소스 코드에 추가하여 사용할 수 있는 메타데이터의 일종입니다.

어노테이션은 클래스, 메소드, 변수 등에 달아 특정 동작을 유도하거나, 정보를 제공하는 역할을 합니다.

어노텡션은 @ 기호로 시작하며, 예를 들어 가장 자주 사용되는 내장 어노테이션인 @Override는 메소드가 상위 클래스의 메소드를 오버라이드 함을 명시합니다.

@Override
public String toString(){
	return "This is a string";
}

 

 

어노테이션(Annotation)의 종류

1. 마커(Marker) 어노테이션

이들은 아무런 매개변수를 포함하지 않으며, 단순히 존재 여부만으로 정보를 전달합니다.

ex) @Override, @Deprecated

 

2. 단일 값(Single-Value) 어노테이션

하나의 값만 저장할 수 있는 어노테이션이며, 이 값을 반환하는 value() 메소드가 있습니다.

 

3. 전체값(Full-Value) 어노테이션

둘 이상의 매개변수를 가질 수 있는 어노테이션이며, 각각 이름과 값을 가집니다.

 

사용자 정의 어노테이션(Annotation)

예제 코드

@Retry(maxRetryCount = 10, maxAbc = 111)
public String save(String itemId) {
    seq ++;
    if (seq % 2 == 0) {
        throw new IllegalStateException("예외 발생");
    }
    return "ok";
}

https://ojt90902.tistory.com/719

 

Java : 사용자 정의 어노테이션 만들기

어노테이션 만들기 @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface Retry { int maxRetryCount() default 3; int maxAbc() default 10; } @interface로 어노테이션 클래스를 선언한다 @Retention을 통해 어

ojt90902.tistory.com

 

 

 

예전에 작성했던 어노테이션 포스팅이네요..ㅎ

스프링에서 자주 사용하는 어노테이션을 3가지 정도 뽑았네요 뽑기만 했네요,,

https://gamza1013.tistory.com/34

 

[Spring] JAVA 애노테이션 Annotation(@) 알아보기

웹 애플리케이션 계층을 생성할 때 애노테이션은 거의 필수 이다(@Annotation) @Annotation이란 : 주석 코딩에서는 Annotation을 사용하여 주석처럼 특정한 의미를 가지고 있음 프로그램에서 추가적인 정

gamza1013.tistory.com

 

다음에 직접 스프링 부트 개발을 하면서 자주 사용하던 어노테이션을 정리하겠습니다!

반응형