Hello

Java 표준애너테이션

by 볼빵빵오춘기

표준애너테이션

Java에서 제공하는 애너테이션이다. 

애너테이션 설명
@Override 컴파일러에게 오버라이딩하는 메서드라는 것을 알린다.
@Deprecated 앞으로 사용하지 않을 것을 권장하는 대상에 붙인다.
@SuppressWarnings 컴파일러의 특정 경고메시지가 나타나지 않게 해준다.
@SafeVarargs 지네릭스 타입의 가변인자에 사용한다.(JDK 1.7)
@FunctionalInterface 함수형 인터페이스라는 것을 알린다.(JDK 1.8)
@Native native메서드에서 참조되는 상수 앞에 붙인다.(JDK 1.8)

 

@Override

  • 오버라이딩을 올바르게 했는지 컴파일러가 체크하게 한다.
  • 오버라이딩할 때 메서드이름을 잘못적는 실수를 하는 경우가 많다.
  • 오버라이딩할 때는 메서드 선언부 앞에 @Override를 붙인다.

예제코드

class Parent {
	void parentMethod() { }
}

class Child extends Parent {
	@Override
	void parentmethod() { } // 조상 메서드의 이름을 잘못 적었음. 
}

 

 

@Deprecated

앞으로 사용하지 않을 것을 권장하는 필드나 메서드에 붙인다.

 

@Deprecated의 사용 예

Date클래스의 getDate()

 

@Deprecated가 붙은 대상이 사용된 코드를 컴파일하면 나타나는 메시지

(⇒ 에러는 아니지만 사용하지말라는 메시지가 뜬 것)

 

@functionallnterface

  • 함수형 인터페이스에 붙이면, 컴파일러가 올바르게 작성했는지 체크 함수형 인터페이스에는 하나의 추상메서드만 가져야한다는 제약이 있다.
  • 컴파일러가 사용하는 어노테이션이다.

 

@SupperssWarnings

※ 컴파일을 하다보면 경고가 뜬다. 뜨는 이유는 컴파일할때 이거 애매한데? 라고 생각되는 부분에 경고를 뜨게 되도록 되어있기 때문이다. 그럴때 내가 이 경고를 알고 썼다고 알려주기위해 붙여준다고 생각하면 된다.

※ 확인한 경고는 붙여서 안뜨도록하고 새로운 경고는 뜨도록 하면된다.

 

  • 컴파일러의 경고메시지가 나타나지 않게 억제한다.
  • 괄호() 안에 억제하고자하는 경고의 종류를 문자열로 지정한다.
  • 둘 이상의 경고를 동시에 억제하려면 다음과 같이 한다.
  • ‘-Xlint’옵션으로 컴파일하면, 경고메시지를 확인할 수 있다. (괄호[]안이 경고의 종류. 아래의 경우 rawtypes)

 

블로그의 정보

Hello 춘기's world

볼빵빵오춘기

활동하기