Java - 애너테이션(Annotation)

HY SONG·2023년 3월 4일
0

Java

목록 보기
7/15

애너테이션(Annotaton) 이란?

애너테이션은 소스 코드에 메타데이터를 추가하는 방법이다
'@' 기호를 사용하여 표시되며, 클래스, 메서드, 필드 등 다양한 요소에 적용 가능하다

애너테이션의 종류

  1. 표준 애너테이션
  • 자바가 기본적으로 제공
  1. 메타 애너테이션
  • 애너테이션을 정의하는 데에 사용되는 애너테이션
  • 애너테이션의 다양한 특성을 지정할 수 있다
  1. 사용자 정의 애너테이션
  • 사용자가 직접 애너테이션을 정의
  • 다른 클래스나 인터페이스를 상속받을 수 없다

애너테이션의 사용

  • 코드 문서화
    애너테이션을 사용하면 코드에 부가 설명이나 문서화 정보를 추가할 수 있다

  • 런타임 처리 및 설정
    애너테이션을 사용하여 런타임에 동적 작업을 수행할 수 있다

  • 코드 생성
    애너테이션 프로세서를 사용하여 애너테이션을 기반으로 코드를 자동으로 생성할 수 있다
    반복적이고 번거로운 작업을 줄여주며, 코드의 일관성을 유지할 수 있습니다
    ex) Lombok 라이브러리

  • 유연성
    애너테이션은 사용자 정의할 수 있으며, 프로그래머가 자신만의 애너테이션을 정의하여 사용할 수 있다
    이를 통해 도메인별로 특화된 메타데이터를 추가, 프로그램에 독자적인 의미를 부여가 가능하다

  • 프레임워크 통합
    애너테이션은 다양한 자바 프레임워크와 라이브러리에서 널리 사용된다
    스프링 프레임워크, JPA(Java Persistence API), 테스트 프레임워크 등에서 애너테이션을 활용하여 설정 및 동작을 제어한다.

  • 코드 검증 및 검사
    애너테이션을 사용하여 코드 검사 도구와 통합하여 코드 품질과 안정성을 향상시킬 수 있다

애너테이션 사용 예시

@Override

@Override
// 오버라이드된 메서드
public void someMethod() {
    // 메서드 구현
}

@Deprecated

@Deprecated
public void oldMethod() {
    // 더 이상 권장하지 않는 메서드
}```

사용자 정의 애너테이션

// 사용자 정의 애너테이션 정의
@interface MyAnnotation {
    String value();
    int count() default 1;
}
// 사용자 정의 애너테이션 사용
@MyAnnotation(value = "Hello", count = 3)
public class MyClass {
    // 클래스 내용
}

0개의 댓글