반응형
Annotation 을 직역하면 [주석] 이지만, JAVA 에서 Annotation 은
소스 코드에 추가하여 사용할 수 있는 메타데이터의 일종이다
보통 @ 기호를 앞에 붙여서 사용한다
Annotation 은 클래스 파일에 임베디드되어 컴파일러에 의해 생성된 후 자바 가상 머신에 포함되어 작동한다고 한다
나무위키에 아래와 같이 Override 어노테이션 예제가 있다
Override 어노테이션은 자바 내장 어노테이션이고, 컴파일러에게 부모 클래스에서 일치하는 메서드를 확인하도록 지시한다
아래 예제에서 @override 어노테이션이 없었다면 Cat 클래스에서 새 메서드 gettype() 이 생성되었을 것이다
public class Animal {
public void speak() {
}
public String getType() {
return "Generic Animal";
}
}
public class Cat extends Animal {
@Override
public void speak() {
// This is a good override
System.out.println("Meow");
}
@Override
public String gettype() {
// Compile-time Error due to Mistyped name
// getType 인데 gettype 으로 오타 나서 Error
return "Cat";
}
}
어노테이션을 사용하면 코드가 깔끔해지고 재사용이 가능하다
*컴파일러에게 코드 작성 문법 에러를 체크하도록 정보 제공
* 소프트웨어 개발 툴이 빌드나 배치 시 코드를 자동으로 생성할 수 있도록 정보 제공
* 실행 시 (런타임 시) 특정 기능을 실행하도록 정보 제공
반응형
'TIL > JAVA' 카테고리의 다른 글
[JAVA] 패키지 (1) | 2024.12.19 |
---|---|
[JAVA] 생성자 (0) | 2024.12.11 |
[JAVA] 객체 지향 프로그래밍 (5) | 2024.12.06 |
[JAVA] 변수와 초기화 (0) | 2024.12.02 |
[JAVA] 기본형과 참조형 (2) | 2024.11.26 |