Post

[JSCode 자바 스터디] 2주차(2) - 어노테이션, 리플렉션

어노테이션, 리플렉션

👉 자바에서 어노테이션이란 무엇일까요?

어노테이션은 코드에 메타데이터를 추가하여 리플렉션을 통해 런타임에 동작은 변경할 수 있는 기능입니다. 어노테이션을 통해 개발자는 코드의 의도를 명확하게 표시할 수 있습니다. 또, 스프링에서는 이 어노테이션을 기반으로 의존성 주입, 트랜잭션 관기 등의 기능을 자동으로 처리해줍니다.

어노테이션은 3가지가 있는데요, 첫 번째로 @Override 와 같은 표준 어노테이션으로 자바가 기본적으로 제공해주는 어노테이션입니다. 두 번째로는 Inherited 와 같은 메타 어노테이션으로 어노테이션을 위한 어노테이션이며, 세 번째로는 사용자가 직접 정의하는 사용자정의어노테이션이 있습니다.

👉 어노테이션을 왜 사용할까요?

  • 컴파일러에게 문법 에러를 체크하도록 정보를 제공하여 런타임 때 빠른 속도의 처리가 가능하게 합니다.
  • 코드의 가독성과 유지보수성을 크게 향상시키며, 개발자가 비즈니스 로직에 더 집중할 수 있게 해줍니다.

👉 어노테이션은 리플렉션으로 동작하는데, 리플렉션이란?

리플렉션이란 런타임에 클래스의 메타데이터를 읽어서 동작을 변경하거나, 새로운 인스턴스를 생성하는 등의 작업을 할 수 있게 해주는 기술입니다.

리플렉션은 스프링 프레임워크에서 특히 중요한 역할을 합니다. 만약, @Transaction 어노테이션을 붙인 메소드는 스프링이 트랜잭션 관리를 자동으로 해주게 됩니다.

참고

https://f-lab.kr/insight/spring-annotation-reflection

This post is licensed under CC BY 4.0 by the author.