본문 바로가기
Java

[JAVA] 어노테이션 설명

by 미소여우 2022. 3. 20.
728x90

타임리프 설명이 같이 있지만 메인은 어노테이션 설명이다.

의문점

스프링에서 쓰는 이 어노테이션이 도대체 뭐길래 달아주기만 해도 무슨 마법 같은 일이 일어날까. 하는 의문점이 들었다.

 

어노테이션이란

사전적 정의는 다음과 같다.

  • 코드 사이에 주석처럼 쓰이며 특별한 의미,  기능을 수행하도록 하는 기술
  • 메타 데이터 역할 (데이터를 위한 데이터)
@Override

@Deprecated

@FunctionalInterface

 

우리가 자바를 사용하면서 다음과 같은 문구들을 보았을 텐데, 이것들은 단순히 주석처럼 사용되는 어노테이션들이다.

그리고 스프링을 사용하면서 본 어노테이션들로는 다음과 같다.

@Controller

@Service

@Repository

@RequestBody

@RequestParam

@ModelAttribute

@Entity

이 외에도 상당히 많은데, 이 어노테이션들을 클래스나 파라미터, 메서드 위에 달아두면 어떤 것은 컨트롤러, 다른 것은 레포지토리 등으로 인식이 되고 빈으로 등록이 되어 스프링이 관리를 해준다. 정말 신기하지 않은가? 단지 달아두기만 했을 뿐인데, 어떤 마법이 일어난 것일가.

그 마법을 일으켜주는 것은 바로 리플렉션이다.

728x90

'Java' 카테고리의 다른 글

[자바] 자바 빈즈  (0) 2022.08.29
스택트레이스를 적극 활용하자  (0) 2022.03.08
[JAVA] Enum에 대해서  (0) 2022.02.22

댓글