JAVA-어노테이션에 대하여

들어가며

이번 포스트에서는 어노테이션에 대해서 이야기 합니다.

Spring 프레임워크를 쓰다보면 정말 많이 어노테이션을 쓰게 되는데요

이때 어노테이션이 무엇인지 잘 이해하고 쓰기보다는 단순히 붙여야 돌아가던데

라는 생각으로 처음에 접근하였습니다.

이전 포스트에서 OverLiding 에대한 이야기를 하며 @Override에 대해 이야기를 잠깐 했는데 이번 포스트에서 잘 알아보십니다.

어노테이션이 뭔데?

Anotation 은 주석 이라는 의미입니다.

보통 우리가 쓰는 주석은 이런식으로 쓰죠?

//여기서 이렇게 돌아가서 이렇게 설정됩니다!

우리가 쓰는 @도 같은 의미라고 볼 수 있습니다. 그러면 누가 보느냐?

컴파일러 지시자

어노테이션을 사용하여 컴파일러에게 특정 작업을 수행하도록 지시할 수 있습니다.

예를 들어, @Override 어노테이션은 메서드가 부모 클래스의 메서드를 재정의한다는 것을 나타냅니다.

런타임 처리

어노테이션을 사용하여 런타임에 동작을 변경하거나 프로그램의 흐름을 제어할 수 있습니다.

예를 들어, 스프링 프레임워크에서 @Transactional 어노테이션은 트랜잭션 처리를 지정한 메서드 또는 클래스에 적용합니다.

컴포넌트 스캐닝 및 DI(Dependency Injection)

스프링 프레임워크와 같은 프레임워크는 어노테이션을 사용하여 클래스를 식별하고 구성할 수 있습니다.

예를 들어, @Component, @Service, @Repository 어노테이션은 스프링의 컴포넌트 스캐닝 기능에 의해 스프링 빈으로 등록됩니다.

이렇게 어느 시점에서 정보를 제공할 것 인지를 처리할 수 있습니다.

당연히 코드를 다른 사람이 볼떄 @Service 가 ****있다면 “이거는 비지니스 로직을 처리하는 서비스코드”라고 코드를 읽는 사람들이 알 수 있겠죠

용도가 뭘까?

  1. 컴파일 시 사용하는 정보
  2. 빌드 툴이 코드를 자동으로 생성할 때 사용하는 정보
  3. 실행 시 특정 시점에서 기능을 실행시키라는 정보

 

--작성중

'JAVA' 카테고리의 다른 글

JAVA 디자인 패턴에 대하여 -개념  (0) 2024.06.04
JAVA - SOLID에 대하여  (0) 2024.06.03
JAVA - 결합도에 대하여  (0) 2024.06.03
JAVA - interface  (0) 2024.05.29
JAVA - OOP 실사용  (0) 2024.05.29