hayu's 개발 일지

99클럽 코테 스터디 21일차 TIL + 애너테이션(Annotation) 본문

기술/java

99클럽 코테 스터디 21일차 TIL + 애너테이션(Annotation)

hayu00 2024. 6. 10. 21:08

학습 키워드

- 애너테이션(Annotation)

 

공부한 내용

애너테이션(Annotation) 이란?

  • 애너테이션은 코드 메타 데이터(자신의 정보를 담고 있는 데이터)이다.
  • 애너테이션은 주석처럼 프로그램에 영향을 미치지 않으면서 유용한 정보를 제공한다. 즉, 코드 사이에 주석처럼 쓰이며 부가적인 정보나 기능을 제공하는 것이다.
  • 애너테이션은 코드에 영향을 주지않는다.

애너테이션의 용도

  • 애너테이션은 코드 문법 에러를 체크하도록 정보를 제공한다.
  • 코드를 자동으로 생성할 수 있도록 정보를 제공한다.
  • 특정 기능을 실행하도록 정보를 제공한다.

애너테이션의 종류

  • 애너테이션은 크게 두 종류로 나뉘는데, 표준 애너테이션과 메타 애너테이션이다.

표준 애너테이션

  • 자바에서 기본적으로 제공하는 애너테이션이다.

표준 애너테이션 설명

@Override 해당 메서드가 오버라이딩하는 메서드임을 알린다.
@Deprecated 앞으로는 사용하지 않을 대상임을 알린다.
@SuppressWarnings 컴파일러의 특정 경고 메세지가 나타나지 않게 한다.
@SafeVarargs 제네릭 타입의 가변인자에 사용한다.
@FuntionalInterface 함수형 인터페이스라는 것을 알린다.
  • 제네릭: 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법이다. <> 괄호가 제네릭이다.

메타 애너테이션

  • 애너테이션을 정의하는데 사용되는 애너테이션이다.

메타 애너테이션 설명

@Target 애너테이션이 적용 가능한 대상을 지정한다.
@Documented 애너테이션을 javadoc으로 작성된 문서에 포함시킨다.
@Inherited 애너테이션이 하위클래스에 삭속되게 한다.
@Retention 애너테이션이 유지되는 범위를 지정한다.
@Repeatable 애너테이션을 반복해서 적용한다.

 

회고

발생한 문제

- 자바 애너테이션에 대한 공부가 부족하다는 사실을 알게 되었다.

 

해결 방법

- 자바 애너테이션에 대한 공부를 진행했다.