들어가며
이번 포스트에서는 어노테이션에 대해서 이야기 합니다.
Spring 프레임워크를 쓰다보면 정말 많이 어노테이션을 쓰게 되는데요
이때 어노테이션이 무엇인지 잘 이해하고 쓰기보다는 단순히 붙여야 돌아가던데
라는 생각으로 처음에 접근하였습니다.
이전 포스트에서 OverLiding 에대한 이야기를 하며 @Override에 대해 이야기를 잠깐 했는데 이번 포스트에서 잘 알아보십니다.
어노테이션이 뭔데?
Anotation 은 주석 이라는 의미입니다.
보통 우리가 쓰는 주석은 이런식으로 쓰죠?
//여기서 이렇게 돌아가서 이렇게 설정됩니다!
우리가 쓰는 @도 같은 의미라고 볼 수 있습니다. 그러면 누가 보느냐?
컴파일러 지시자
어노테이션을 사용하여 컴파일러에게 특정 작업을 수행하도록 지시할 수 있습니다.
예를 들어, @Override 어노테이션은 메서드가 부모 클래스의 메서드를 재정의한다는 것을 나타냅니다.
런타임 처리
어노테이션을 사용하여 런타임에 동작을 변경하거나 프로그램의 흐름을 제어할 수 있습니다.
예를 들어, 스프링 프레임워크에서 @Transactional 어노테이션은 트랜잭션 처리를 지정한 메서드 또는 클래스에 적용합니다.
컴포넌트 스캐닝 및 DI(Dependency Injection)
스프링 프레임워크와 같은 프레임워크는 어노테이션을 사용하여 클래스를 식별하고 구성할 수 있습니다.
예를 들어, @Component, @Service, @Repository 어노테이션은 스프링의 컴포넌트 스캐닝 기능에 의해 스프링 빈으로 등록됩니다.
이렇게 어느 시점에서 정보를 제공할 것 인지를 처리할 수 있습니다.
당연히 코드를 다른 사람이 볼떄 @Service 가 ****있다면 “이거는 비지니스 로직을 처리하는 서비스코드”라고 코드를 읽는 사람들이 알 수 있겠죠
용도가 뭘까?
- 컴파일 시 사용하는 정보
- 빌드 툴이 코드를 자동으로 생성할 때 사용하는 정보
- 실행 시 특정 시점에서 기능을 실행시키라는 정보
--작성중
'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 |