본문 바로가기
GD's IT Lectures : 기초부터 시리즈/자바(JAVA) 기초부터 ~

[자바(JAVA)] 자바 어노테이션

by GDNGY 2023. 4. 28.

22. 자바 어노테이션

22.1. 어노테이션 개념

어노테이션(Annotation)은 자바 소스 코드에 메타데이터를 추가하는 방법으로, 주석과 비슷한 역할을 합니다. 어노테이션은 컴파일러에게 정보를 제공하거나, 런타임에 코드 동작을 변경하거나, 프레임워크에서 코드를 처리하는 데 사용됩니다. 어노테이션은 '@' 기호와 함께 사용되며, 컴파일 또는 런타임에 처리할 수 있습니다.

 

22.2. 기본 어노테이션

자바에서는 몇 가지 기본 어노테이션을 제공합니다.

  1. @Override: 메소드가 부모 클래스의 메소드를 오버라이드 한다는 것을 나타냅니다.
  2. @Deprecated: 해당 요소가 더 이상 사용되지 않음을 나타냅니다.
  3. @SuppressWarnings: 특정 경고를 무시하도록 컴파일러에 지시합니다.
  4. @FunctionalInterface: 인터페이스가 함수형 인터페이스임을 나타냅니다.

 

22.3. 사용자 정의 어노테이션 생성

자바에서는 사용자가 직접 어노테이션을 정의할 수 있습니다. 사용자 정의 어노테이션을 생성하려면, 다음과 같은 구문을 사용합니다.

@interface MyAnnotation {
    // 어노테이션 요소 정의
}

어노테이션 요소는 메소드와 비슷한 형태로 정의되며, 기본값을 가질 수 있습니다. 예를 들어, 다음과 같이 사용자 정의 어노테이션을 만들 수 있습니다.

@interface MyAnnotation {
    String value() default "default value";
    int count() default 0;
}

 

22.4. 어노테이션 처리

어노테이션은 리플렉션 API를 사용하여 런타임에 처리할 수 있습니다. 어노테이션 정보를 얻으려면, Class, Method, Field 등의 객체에서 getAnnotations(), getAnnotation(), isAnnotationPresent() 등의 메소드를 사용합니다.

 

어노테이션 처리기(annotation processor)를 사용하면, 컴파일 타임에 어노테이션을 처리할 수도 있습니다. 어노테이션 처리기는 javax.annotation.processing 패키지의 AbstractProcessor 클래스를 상속받아 구현하며, 컴파일러에게 어노테이션 정보를 전달하여 소스 코드를 생성하거나 검사할 수 있습니다.

 

어노테이션은 자바 프로그래밍에서 유용한 도구로, 소스 코드에 추가 정보를 제공하고, 코드의 동작을 변경하거나 프레임워크에서 처리하는 데 활용할 수 있습니다. 이 강좌에서는 어노테이션의 개념과 사용법, 사용자 정의 어노테이션 생성 및 처리에 대해 살펴보았습니다. 어노테이션을 이해하고 사용하면, 코드의 가독성을 높이고, 유지 보수를 용이하게 할 수 있습니다.


어노테이션을 사용하는 데 있어 몇 가지 주의사항이 있습니다. 무분별하게 어노테이션을 사용하면, 코드의 복잡성이 증가하고 가독성이 떨어질 수 있으므로, 적절한 상황에만 사용해야 합니다. 또한, 리플렉션과 함께 사용하는 경우 성능 저하가 발생할 수 있으므로, 필요한 경우에만 사용하는 것이 좋습니다.


이제 자바 어노테이션에 대한 기본적인 이해를 바탕으로, 실제 프로젝트에서 어노테이션을 활용하여 개발을 진행할 수 있습니다. 기본 어노테이션 외에도, 많은 프레임워크에서 어노테이션을 사용하므로, 해당 프레임워크의 문서를 참조하여 프레임워크에서 제공하는 어노테이션을 사용하는 방법도 공부해보세요. 이를 통해 더욱 효율적인 코드 작성이 가능해질 것입니다.

 

반응형

댓글