본문 바로가기

항해99 기술면접 대비

23.10.17 항해 99 16기 기술면접 대비

1. Annotation이란 무엇이고 구체적으로 어떤 것이 있는지 예시를 들어 설명해주실 수 있을까요?

 1) Annotation이란?

     자바에서 코드 사이에 주석처럼 쓰이며, 특별한 의미, 기능을 수행하도록 하는 기술

     프로그램에게 추가적인 정보를 제공해주는 메타데이터(데이터를 위한 데이터) 라고 볼 수 있다 

 2) Annotation종류

     (1) 표준(내장) 어노테이션: 자바가 기본적으로 제공해주는 어노테이션

          (a) @Override : 오버라이딩을 올바르게 했는지 컴파일러가 체크

          (b) @Deprecated : 앞으로 사용하지 않을 것을 권장하는 필드나 메서드에 붙임

          (c) @Functionallnterface : 함수형 인터페이스에 붙이면 컴파일러가 올바르게 작성했는지 체크

          (d) @SuppressWarnings : 컴파일러의 경고메세지가 나타나지 않게함

     (2) 메타 어노테이션: 어노테이션을 위한 어노테이션

          (a) @Target : 어노테이션을 정의할 때, 적용대상을 지정하는데 사용함

          (b) @Retention : 어노테이션이 유지되는 기간을 지정하는데 사용

          (c) @Documented : javadoc로 작성한 문서에 포함시킬때 사용

          (d) @Inherited : 어노테이션을 자손 클래스에 상속하고자 할 때 사용

          (e) @Repeatable : 반복해서 붙일 수 있는 어노테이션을 정의할 때 사용

     (3) 사용자정의 어노테이션: 사용자가 직접 정의하는 어노테이션

          (a) 어노테이션 생성법

          @interfact 이름 {

               타입 요소 이름 ( ) ; // 어노테이션의 요소를 선언

            }