Java

Java annotation

blackbearwow 2024. 10. 29. 11:03

공부하다보니 @Override, @FunctionalInterface같이 골뱅이를 붙인 무언가가 보인다. 이것이 무엇인지 궁금해 정리해본다.

 

annotation은 자바 소스 코드에 추가될 수 있는 메타데이타이다. 

annotation은 다음 기능을 제공한다

  • 컴파일러에게 해당 annotation의 조건을 검사해 조건이 맞지 않다면 에러 생성

Built-in annotation

  • @Override - 메소드가 오버라이드 되었는지 검사한다. 메소드가 오버라이드 된것이 아니라면 컴파일 에러를 발생시킨다.
  • @Deprecated - 메소드가 구식이라고 표시한다. 메소드가 사용되면 컴파일 경고를 띄운다.
  • @SuppressWarnings - 명시된 어노테이션 매개변수의 컴파일 경고를 숨긴다.
  • @FunctionalInterface - 타입 선언이 함수형 인터페이스를 의도한 것이라고 명시한다. 클래스에 하나의 메소드만 있는것이 아니라면 컴파일 에러를 발생시킨다.

Custom annotation

어노테이션을 만들수도 있다.

 

골뱅이 + interface키워드로 선언할 수 있다.

@Twizzle
public void toggle() {
}

public @interface Twizzle{
}

'Java' 카테고리의 다른 글

spring View, 템플릿 엔진  (0) 2025.02.07
spring 설치와 환경설정  (0) 2025.02.07
Java concurrent programming  (0) 2024.09.27
FunctionalInterface, Lambda Expression  (2) 2024.09.26
Java 파일 조작 (File Handling)  (0) 2024.09.23