담비의 개발블로그

Annotation이란? 본문

CS(컴퓨터과학)

Annotation이란?

담비12 2024. 6. 21. 17:47
어노테이션(Annotation)

- 사전적인 의미는 주석을 의미한다. 하지만 코딩할땐 다른의미로 쓰인다.

- 코드 사이에 주석처럼 쓰이고, 특별한 의미와 기능을 수행하도록 하는 기술이다.

- 자바 코드에 메타데이터를 추가하는 방법으로, 컴파일러와 런타임에 다양한 처리를 가능하게 한다.

* meta date : 파일이나 데이터에 포함된 메타데이터로, 특정 데이터가 생성되거나 수정된 날짜를 나타낸다. (파일시스템 : 파일이 생성된 날짜, 수정된 날짜 등/데이터베이스 : 특정 레코드가 생성된 날짜, 수정된 날짜)

* compiler : 소스 코드를 기계어로 반환하는 프로그램이다.

* runtime : 프로그램이 실행되는 동안의 환경 또는 상태를 의미한다. 프로그램이 올바르게 실행되기 위해 필요한 요소들을 포함한다.

- 컴파일러에 특정 지시를 내려 경고를 억제하거나, 코드의 특정 부분에 대해 특별한 처리를 지시 할 수 있다.

- @ 기호로 시작하며, 다양한 용도로 사용된다.

- 어노테이션을 사용하여 설정, 의존성 주입, 트랜잭션 관리 등 여러가지 작업을 수행한다.

- 코드의 가독성유지보수성을 높이고 특정 기능을 보다 효율적으로 구현한다.

- 언어별로 어노테이션의 문법과 용도는 다르지만 그 핵심적인 역할은 유사하다.

어노테이션 예시

 

  1. @Component: 클래스가 스프링의 빈으로 자동 등록되도록 표시
  2. @Autowired: 스프링 컨테이너가 해당 필드, 생성자 또는 메소드에 적절한 빈을 주입
  3. @Service: 비즈니스 로직을 수행하는 클래스에 사용
  4. @Repository: 데이터 액세스 계층(DAO)에 사용
  5. @Controller: 웹 요청을 처리하는 컨트롤러 클래스에 사용
  6. @Configuration: 스프링 설정을 정의하는 클래스에 사용

 

◆ 자바

public class Example {
    @Deprecated
    public void oldMethod() {
        // 오래된 메서드
    }

    @Override
    public String toString() {
        return "Example";
    }

    @SuppressWarnings("unchecked")
    public void exampleMethod() {
        // 경고 무시
    }
}

 

◆ 스프링

import org.springframework.stereotype.Component;

@Component
public class MyComponent {
    // 빈 정의
}

 

 

 

 

 

 

'CS(컴퓨터과학)' 카테고리의 다른 글

[JPA]1차캐시/2차캐시  (0) 2024.07.28
개발 방법론&테스트 종류  (0) 2024.07.10
ORM이란?  (0) 2024.07.08
CORS란?  (0) 2024.07.03
런타임이란?  (0) 2024.06.21