kkkkkkkkkkkk
kkkkk
kkkkkkkkkkkk
전체 방문자
오늘
어제
  • 분류 전체보기
    • CS & OS
    • Algorithms
    • Laguage
    • Book
      • 객체지향의 사실과 오해
      • Effective Java
      • Spring boot 와 AWS로 혼자 구현하는 ..
      • 도메인 주도 계발 시작하기
    • DB
    • Spring
    • Spring Boot
    • JPA
    • Git
    • Clean Code
    • HTTP

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 응집도
  • 객체지향 프로그래밍
  • 설계 원칙
  • 책임
  • 역할
  • 결합도

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
kkkkkkkkkkkk

kkkkk

[JAVA] @애노테이션 ( Annotation )
Laguage

[JAVA] @애노테이션 ( Annotation )

2021. 12. 28. 23:29

학습 내용

  • 애노테이션 정의 방법
  • 표준 애노테이션
  • 메타 애노테이션

애노테이션 정의 방법

 

interface 앞에 @를 붙여 주면 애노테이션을 정의 할 수 있습니다.

하지만 지금 생성한 애노테이션은 아무런 정보가 없는 빈 껍데기 일 뿐 입니다.

여기서 정보를 더 추가 해봅시다,

 

 

디폴트 값으로 애노테이션 안에 값을 지정을 할 수도 있고 애노테이션을 사용하고 그 값을 정의 할 수도 있습니다.

 

 

 

표준 애노테이션

@Override

-> 부모에게 상속 받은 기능들을 사용 할 때 사용하는 애노테이션입니다. 메서드 이름이 부모의 메서드 이름과 달라지면 컴파일 시 에러가 발생됩니다.

 

@Deprecated

-> 필드의 멤버나 메서드 중에 우리가 사용하지 않는 것들을 삭제하지 않고 이 애노테이션을 사용하여 더 이상 사용하지 않을 것을 권한다 라는 의미를 부여해주는 기능입니다.

사용하고 멤버나 메서드를 사용하면 컴파일 시 경고가 발생됩니다.

 

@FunctionalInterface

-> 함수형 인터페이스가 올바르게 선언이 됐는지 검사해주는 기능입니다. 잘못 된 경우 컴파일 에러가 발생됩니다.

 

@SuppressWarnings

-> 컴파일 시 발생 되는 에러를 묵인 시켜줍니다. 즉, 컴파일 에러를 감춰줍니다.

 

메타 애노테이션

@Target

-> 애노테이션을 어디에 붙일지?? 지정하는 기능입니다.

 

@Retention

-> 애노테이션이 유지되는 기간을 지정하는 기능입니다.

 

유지 정책

  • SOURCE : 소스 파일에만 존재하고 클래스 파일에는 존재하지 않는다.
  • CLASS : 클래스 파일에 존재한다.
  • RUNTIME : 클래스 파일에 존재하고 런타임 실행 할 까지 존재한다.

@Documented

-> javaoc으로 작성한 문서에 포함 되도록 하는 기능입니다.

 

@Repeatable

-> 애노테이션을 여러번 붙일 수 있게 해주는 기능입니다.

 


메타 에노테이션을 잘 기억해 둡시다.

Spring 에 자주 나오는 애노테이션 입니다. 기억 해두는 것을 추천합니다.

 

 

'Laguage' 카테고리의 다른 글

[Java] ArchUnit 아키텍처 테스트에 대해 알아보자  (0) 2022.06.18
[JAVA] JVM 구조  (0) 2022.02.11
[JAVA] 스레드 ( Thread )  (1) 2022.02.08
[JAVA] Optional  (0) 2022.01.20
[JAVA] 열거형 ( enums )  (0) 2021.12.28
[java] 객체지향 프로그래밍 설계 원칙 - SOLID  (0) 2021.12.10
[java] 객체지향 프로그래밍 설계 원칙 - 결합도 / 응집도  (0) 2021.12.09
Java DTO 관련 정리...  (0) 2021.11.21
    'Laguage' 카테고리의 다른 글
    • [JAVA] 스레드 ( Thread )
    • [JAVA] Optional
    • [JAVA] 열거형 ( enums )
    • [java] 객체지향 프로그래밍 설계 원칙 - SOLID
    kkkkkkkkkkkk
    kkkkkkkkkkkk

    티스토리툴바