일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- Java
- MS-SQL
- SQL Server
- 어노테이션
- jdbc
- sql index
- annotation
- solvesql
- SQL
- mssql 대용량 데이터
- jtds
- jdbc bulk insert
- c#
- sql insert
- 자바
- lag
- C++
- 윈도우함수
- mssql 대용량 데이터 insert
- SQLite
- MSSQL 인덱스
- 자바 어노테이션
- 테이블용량조회
- MSSQL INDEX
- select count
- mssql bulk insert
- MSSQL
- mssql insert
- 포인터
- Today
- Total
Basic Byte Bites
Java의 Annotation (어노테이션) 본문
1. 자바 어노테이션이란?
자바 어노테이션은 주석이라는 의미를 가진다.
자바 소스코드 사이에 @ 기호를 앞에 붙여 사용하는데, JDK 1.5부터 지원하는 기능이다.
2. 어노테이션의 용도?
컴파일러에게 코드 작성 문법 에러를 체크하도록 정보를 제공
소프트웨어 개발툴이 빌드나 배치시 코드를 자동으로 생성할 수 있도록 정보 제공
런타임환경에서 특정 기능을 실행하도록 정보를 제공
3. 어노테이션의 종류
★ 내장 어노테이션의 종류
@Override
선언한 메서드가 오버라이드 되었음을 나타냄
부모 클래스(혹은 인터페이스)에서 해당 메서드를 찾을 수 없으면 컴파일 에러 발생
@Deprecated
해당 메서드가 더이상 사용되지 않음을 표시함.
만약 사용할 경우 컴파일 경고를 발생시킴
@SuppressWarnings
선언한 곳의 컴파일 경고를 무시하도록 설정
@SafeVarags
같은 가변인자의 매개변수를 사용할때의 경고를 무시 ( Java7이상 )
@FunctionalInterface
함수형 인터페이스를 지정하는 어노테이션
만약 메서드가 존재하지 않거나, 2개 이상의 메서드가 존재할경우 컴파일 오류 발생
(default 메서드 제외)
★ 메타 어노테이션(어노테이션을 위한 어노테이션) 종류
@Target
어노테이션을 정의할 때, 적용대상을 지정하는데 사용
@Retention
어노테이션이 유지되는 기간을 정의
RetentionPolicy.SOURCE : 컴파일 전까지만 유지
RetentionPolicy.CLASS : 컴파일러가 클래스를 참조할때까지만 유효
RetentionPolicy.RUNTIME : 런타임시에도 유효 ( JVM에 의해 참조 가능 )
@Documented
해당 어노테이션을 Javadoc에 포함시킴
@Inherited
이 어노테이션이 적용된 클래스의 자식클래스에도 이 어노테이션을 상속시킴
@Repeatable
반복해서 붙일 수 있는 어노테이션을 정의할 때 사용 (Java8 이상)