[인프런 워밍업 클럽 - 스터디 0기 BE] 과제 #1

seolbin park·2024년 2월 19일
0

[질문]

  • 어노테이션을 사용하는 이유 (효과) 는 무엇일까?
  • 나만의 어노테이션은 어떻게 만들 수 있을까?

1. 어노테이션을 사용하는 이유 (효과) 는 무엇일까?

어노테이션이란?

  • 어노테이션은 메타데이터의 일종으로, 프로그래밍 언어나 프레임워크에서 코드에 부가적인 정보를 제공하는 메커니즘이다. 주석과는 달리 어노테이션은 컴파일러나 런타임 시스템이 처리할 수 있다. 어노테이션은 보통 @ 기호를 사용하여 작성된다.

어노테이션을 사용하는 이유

  1. 코드 가독성 향상: 어노테이션은 코드에 의미 있는 정보를 추가하여 가독성을 높인다.
  2. 컴파일 타임 체크 : 코드를 분석하여 오류를 사전에 방지하고 안정성을 높인다.
  3. 런타임 동작 제어 : 런타임 시 동작을 변경하거나 확장할 수 있다.
  4. 메타프로그래밍 : 코드를 동적으로 생성하거나 변경하여 유연성을 확보한다.



2. 나만의 어노테이션은 어떻게 만들 수 있을까?

커스텀 어노테이션[custom annotation] 만들기

  1. @interface 선언 : 새로운 어노테이션을 만들기 위해 자바의 @interface 키워드를 사용한다. 이를 통해 어노테이션의 이름과 속성을 정의할 수 있다.

  2. 속성 정의 : 어노테이션에 필요한 속성을 정의한다. 각 속성은 기본값을 가질 수 있다.

  3. 적용 대상 지정(Optional) : 어노테이션을 사용할 수 있는 대상을 지정할 수 있다. 예를 들어, 메소드, 클래스, 필드 등에 적용할 수 있다.

  4. 어노테이션 사용 : 정의한 어노테이션을 사용하여 코드에 메타데이터를 추가한다.


import java.lang.annotation.*;

// 1. @interface 선언
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface MyCustomAnnotation {
    
    // 2. 속성 정의
    String value() default ""; // 기본값을 설정할 수 있다.
    
    // 3. 적용 대상 지정 (Optional)
    // 적용 대상을 지정하지 않으면 어노테이션을 모든 요소에 적용할 수 있다.
}

// 4. 어노테이션 사용
public class MyClass {
    
    @MyCustomAnnotation("This is my custom annotation") // 어노테이션 사용
    public void myMethod() {
        // 메소드 내용
    }
}


참고

https://inf.run/XKQg

0개의 댓글