본문 바로가기
Back-end/나머지공부

[나머지공부] 어노테이션이란?

by 잔디🌿 2024. 4. 3.

    멋쟁이사자처럼 정기세션을 하면서 점점 이해하기 힘든 내용이 많아졌다.

    그 이유를 알아보고자 앞에서부터 배운 내용을 점검했을 때 어노테이션을 정확히 몰라서 많은 것을 놓치고 있다는 것을 깨달았다.

     

    어노테이션이란?

    어노테이션은 사전적 의미로는 주석이라는 뜻이다. 자바에서 사용될 때의 어노테이션은 코드 사이에 주석처럼 쓰여서 특별한 의미, 기능을 수행하도록 하는 기술이다. 즉, 프로그램에게 추가적인 정보를 제공해주는 메타데이터(meta data: 데이터를 위한 데이터)라고 볼 수 있다.

     

    우리가 흔히 사용하는 주석은 코드에 대한 내용을 개발자에게 설명하지만, 어노테이션은 컴파일러에게 설명한다.

     

     

    어노테이션의 기능은 다음과 같다.

     

    1. 컴파일러에게 코드 작성 문법 에러를 체크하도록 정보를 제공
    2. 소프트웨어 개발툴이 빌드나 배치시 코드를 자동으로 생성할 있도록 정보 제공
    3. 실행시(런타임시)특정 기능을 실행하도록 정보를 제공

     

     

    어노테이션을 사용하는 방법은

     

    @어노테이션 명

    메서드...

     

    이런식으로 사용하면 된다.

     

    예를 들어 가장 흔하게 사용하는 @Override 어노테이션은 상속받은 메서드를 오버라이딩 한다는 의미이고, 따라서 컴파일러는 만약 해당 메서드명이 상속받은 클래스의 메서드명과 다르다면 경고를 한다.

     

    여기서 나는

    분명 어노테이션은 코드에 영향을 미치지 않는데 왜 @GetMapping과 @PathVariable은 하나의 코드처럼 기능을 가지는 것 같지? 그럼 주석이라고 볼 수 없을텐데..? 라는 의문이 들었다.

     

    내가 이해한 바로는 이들 역시 기능은 코드가 다 하고 그냥 표시만 하는 것이다.

     

    맞는거 같긴 한데 혹시 모르니까 질문해봐야겠다.

    'Back-end > 나머지공부' 카테고리의 다른 글

    [나머지공부] RestTemplate  (1) 2024.07.24
    [나머지공부] 테스트코드 작성법  (0) 2024.07.21