애너테이션

이용만·2023년 3월 8일
0

🔎애너테이션

: 소스 코드가 컴파일되거나 실행될 때 컴파일러 및 다른 프로그램에게 필요한 정보를 전달해주는 문법 요소

@Override가 애너테이션이다.
@Override는 example()이 추상 메서드를 구현하거나, 상위 크래스의 메서드를 오버라이딩한 메서드라는 것을 컴파일러에게 알려주는 역할이다.
이처럼 애너테이션은 컴파일러 또는 다른 프로그램에게 필요한 정보를 제공해주는 역할을 한다.


표준 애너테이션 : JDK에 내장되어 있음(@Override)

🔺@Deprecated : 기존에 사용하던 기술이 다른 기술로 대체되어 기존 기술을 적용한 코드를 더 이상 사용하지 않도록 유도하는 경우 사용된다.


OldClass를 인스턴스화해서 getOldField()를 호출하면 위와 같이 취소선이 뜨면서, 인텔리제이가 경고를 해준다.
기존의 코드를 다른 코드와의 호환성 문제로 삭제하기 곤란해 남겨두어야만 하지만 더 이상 사용하는 것을 권장하지 않을 때에 @Deprecated를 사용한다.

🔺SuppressWarnings : 컴파일 경고 메시지가 나타나지 않도록 한다.

🔺FunctionalInterface : 함수형 인터페이스를 선언할 때, 컴파일러가 함수형 인터페이스의 선언이 바르게 선언되었는지 확인한다.
참고로 함수형 인터페이스는 단 하나의 추상 메서드만을 가져야하는 제약이 있다.


메타 애너테이션 : 애너테이션을 정의하는 데에 사용되는 애너테이션,
업로드중..
애너테이션 정의할 때 @interface 키워드 사용
@Target 과 @Retention은 @Override의 적용 대상과 유지 기간을 지정하는 역할이다.

🔺@Targer : 애너테이션을 적용할 대상을 지정하는데 사용.
업로드중..

🔺@Documented : javadoc으로 작성한 문서에 포함되도록 하는 애너테이션 설정

profile
성장하는 개발자가 되고자 합니다.

0개의 댓글