TIL/JAVA

[JAVA] 어노테이션 Annotation

아람2 2024. 12. 10. 21:14
반응형

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