본문 바로가기
백엔드/Springboot

어노테이션

by 킁킁잉 2024. 11. 23.

어노테이션

코드에 메타데이터를 추가하는 기능

 

프로그램 실행이나 컴파일 시 추가적인 정보를 제공하거나, 특정 동작을 수행하도록 지시하는 데 사용합니다.

주석처럼 달아놓은 정보이지만, 주석과 달리 프로그램 동작에 직접적인 영향을 미치는 역할을 합니다.

 

어노테이션 특징

  1. 메타데이터 제공
    1. 어노테이션은 클래스, 메서드, 필드 등 코드 요소에 정보를 추가하여 컴파일러나 런타임에 활용됩니다.
    2. ex) @Override: 메서드가 부모 클래스 메서드를 재정의 한 것임을 명시
  2. 컴파일러 힌트 제공
    1. 코드의 정확성을 확인하거나 경고를 방지합니다.
    2. ex) @Deprecated: 해당 요소가 더 이상 사용되지 않음을 알림
  3. 코드의 동작 변경
    1. 런타임에 특정 동작을 수행하게 합니다.
    2. ex) Spring @Controller: 해당 클래스를 웹 요청 처리기로 만듦
  4. 커스텀 어노테이션 가능
    1. 필요에 따라 직접 어노테이션을 정의하여 사용할 수 있습니다.

 

어노테이션 기본 문법

@ 기호를 사용하며, 선언 위치에 따라 적용됩니다.

//클래스에 어노테이션 적용
@Controller
public class MyController{
	
    //메서드에 어노테이션 적용
    @GetMapping("/hello")
    public String sayHHello() {
    	return "Hello, World!";
    }
}