[인프런 워밍업 클럽 0기] BE 1일차 과제 Annotation

어노테이션(Annotation)을 사용하는 이유(효과)는 무엇일까?

  • 어노테이션은 사전적 의미로 주석이라는 뜻, 소스코드 안에 다른 프로그램을 위한 정보를 약속된 형식으로 포함

    • 기존의 자바에서는 구성과 설정값을 외부 xml 설정 파일에 명시하여 프로그램 되었음

    • 재컴파일 없이 쉽게 변경사항을 적용할 수 있다는 장점이 있었지만

    • 프로그램의 규모가 커질수록 설명을 다 적어야하고, 프로그램 작성할때 마다 많은 설정을 작성해야하는 단점이 있었음

    • 이를 해결하기 위해 어노테이션을 고안

  • 어노테이션 종류

    • Built-in-Annotation : 자바에 기본적으로 내장됨. 주로 컴파일러 위함

    • Meta-Annotation : 어노테이션에 사용됨. 해당 어노테이션의 동작 대상 결정

  • 자바에서는 코드에서 특별한 의미 혹은 기능을 수행하며, 추가적인 정보를 제공

     

  • 어노테이션의 역할

    • 컴파일러 체크하도록 정보를 제공

    • 프로그램을 빌드할 때 코드를 자동으로 생성할 수 있도록 정보를 제공

    • 런타임에 특정 기능을 실행하도록 정보 제공

    • 해당 동작을 수행하는 프로그램 이외에 다른 프로그램에는 영향을 주지 않음

       

 

나만의(커스텀) 어노테이션 만들기

  • 커스텀 어노테이션을 만들기 위해서는 @interface를 사용

  • 필요한 메타 어노테이션을 사용

    • @Retention : 어노테이션이 유지되는 기간

       

    • @Target : 어노테이션이 적용 가능한 대상을 지정하는데 사용

    • @Document : 어노테이션에 대한 정보가 javadoc로 작성한 문서에 포함될 때 사용

    • @Inherited : 자손 클래스에도 상속되도록 할 때 사용

 

댓글을 작성해보세요.

채널톡 아이콘