본문 바로가기

코딩공부

Java Annotation

애너테이션은 소스 코드가 컴파일되거나 실행될 때 컴파일러 및 다른 프로그램에게 필요한 정보를 전달해 주는 문법 요소입니다.

 

@Override

@Override는 메서드 앞에만 붙일 수 있는 애너테이션으로, 선언한 메서드가 상위 클래스의 메서드를 오버라이딩하거나 추상 메서드를 구현하는 메서드라는 것을 컴파일러에게 알려주는 역할을 수행합니다.

 

@Deprecated

@Deprecated는 기존에 사용하던 기술이 다른 기술로 대체되어 기존 기술을 적용한 코드를 더 이상 사용하지 않도록 유도하는 경우에 사용합니다.

 

@FunctionalInterface

@FunctionalInterface 애너테이션은 함수형 인터페이스를 선언할 때, 컴파일러가 함수형 인터페이스의 선언이 바르게 선언되었는지 확인하도록 합니다. 만약 바르게 선언되지 않은 경우, 에러를 발생시킵니다. 참고로, 함수형 인터페이스는 단 하나의 추상 메서드만을 가져야 하는 제약이 있습니다.

 

표준 애너테이션 종류

자바의 내장 표준 에너테이션

  • @Override
  • @Deprecated
  • @SuppressWarnings
  • @SafeVarargs
  • @FunctionalInterface
  • @Retention
  • @Documented
  • @Target
  • @Inherited
  • @Repeatable
  • @Native

스프링 프레임워크의 주요 표준 에너테이션

  • @Required
  • @Autowired
  • @Qualifier
  • @Primary
  • @Value
  • @Component
  • @Service
  • @Repository
  • @Controller
  • @RestController
  • @RequestMapping
  • @GetMapping
  • @PostMapping
  • @PutMapping
  • @DeleteMapping
  • @PatchMapping
  • @ResponseStatus
  • @RequestBody
  • @ResponseBody
  • @ModelAttribute
  • @PathVariable
  • @RequestParam
  • @SessionAttributes
  • @CookieValue
  • @ExceptionHandler
  • @Transactional
  • @EnableTransactionManagement
  • @EnableAspectJAutoProxy
  • @Aspect
  • @Before
  • @After
  • @AfterReturning
  • @AfterThrowing
  • @Around
  • @Configuration
  • @Bean
  • @Profile
  • @Scope
  • @Import
  • @Lazy

'코딩공부' 카테고리의 다른 글

Java Stream의 개념  (0) 2024.04.22
Java Lambda의 개념  (1) 2024.04.22
Java Collection class 종류 정리  (0) 2024.04.19
Java Map  (2) 2024.04.19
Java Collection Set  (0) 2024.04.19