● 어노테이션이란? (Annotation)
어노테이션은 다른 프로그램에게 유용한 정보를 제공하기 위해 사용되는 것으로 주석과 같은 의미를 가진다.
● 어노테이션의 역할
- 컴파일러에게 문법 에러를 체크하도록 정보를 제공한다.
- 프로그램을 빌드할 때 코드를 자동으로 생성할 수 있도록 정보를 제공한다.
- 런타임에 특정 기능을 실행하도록 정보를 제공한다.
- 어노테이션은 @를 사용하여 작성하며, 해당 타겟에 대한 동작을 수행하는 프로그램 외에는 다른 프로그램에게 영향을 주지 않는다.
● 어노테이션의 종류
어노테이션은 크게 세 가지로 구분된다. 자바에서 기본적으로 제공하는 표준 어노테이션과 어노테이션을 정의하는 데 사용되는 메타 어노테이션, 마지막으로 사용자 어노테이션이 있다.
● 표준 어노테이션
자바에서 기본적으로 제공하는 어노테이션이다.
- @Override
컴파일러에게 메서드를 오버라이딩하는 것이라고 알린다.
- @Deprecated
앞으로 사용하지 않을 대상임을 알린다.
- @FunctionalInterface
함수형 인터페이스라는 것을 알린다.
- @SuppressWarning
컴파일러가 경고 메시지를 나타내지 않는다.
- @SafeVaragrs
제네릭과 같은 가변 인자의 매개변수를 사용할 때의 경고를 나타내지 않는다.
●메타 어노테이션
어노테이션에 붙이는 어노테이션으로, 어노테이션을 정의하는 데 사용한다.
- @Target
어노테이션을 정의할 때 적용 대상을 지정하는 데 사용한다.
- @Documented
어노테이션 정보를 javadoc으로 작성된 문서에 포함시킨다.
- @Inherited
어노테이션이 하위 클래스에 상속되도록 한다.
- @Retention
어노테이션이 유지되는 기간을 정하기 위해 사용한다.
- @Repeatable
어노테이션을 반복해서 적용할 수 있도록 한다.
● 사용자 정의 어노테이션
사용자가 직접 정의하여 사용하는 어노테이션이다.
어노테이션을 만든다.
@Retention(RetentionPolicy.RUNTIME) 은 에노테이션의 유지시간을 나타내며
RetentionPolicy.SOURCE 는 컴파일 시에만 적용이 된다.
@Target({ElementType.TYPE, ElementType.METHOD}) 는 에노테이션 적용대상을 메소드로 지정하는 것이다.
그리고 만든 어노테이션을 적용시켜본다.
< 실행화면 >
'IT수업 > JAVA PART2' 카테고리의 다른 글
IT 수업 14주차 (76) MVC 패턴 1 (0) | 2024.03.29 |
---|---|
IT 수업 14주차 (75) 클래스 다이어그램 (0) | 2024.03.29 |
IT 수업 14주차 (73) 람다식을 :: (더블 콜론) 으로 변환 (0) | 2024.03.28 |
IT 수업 14주차 (72) 함수형 인터페이스 2 (0) | 2024.03.28 |
IT 수업 14주차 (71) 함수형 인터페이스(Interface) (0) | 2024.03.26 |