학습자료/Java 2012. 8. 14. 14:43

Jdk 5.0 에서 새로 선보인 (Annotation) 어노테이션 이라는 겁니다.

 

자바 언어로 표현할수 없지만 프로그램 전체적으로 표현해야할 테이터를 기술하는 방법을 제공하죠.

다시말하면, 어노테이션을 사용하면 프로그램에서 컴파일러가 테스트하고 검증해야하는 부가 정보를 정해진

형식으로 설명하는 것이 가능하게 됩니다. 또한 설명 파일이나 새로운 클래스 정의를 생성하여 공통코드를

작성하는 부담을 줄이는 용도로도 활용할 수 있죠.

 

가장 자주 쓰이는 어노테이션은

 

@Override

 : 기반 클래스의 메소드를 오버라이드한 것을 표시한다. 메소드 이름을 잘못 표기하거나 시그니처를 잘못 지정할

경우 컴파일 에러 발생

 

@Deprecated

 : 해당 요소가 사용될 경우 컴파일러가 경고를 발생 시킨다.

 

@SuppressWarning

 : 부적절한 컴파일러의 경고를 제거하기 위해 사용된다.

 

음..어노테이션은 자바 고급기술에 속하는 편이어서 그냥 이런게 있구나 하고 넘어가셔도 무방합니다만

좀더 자세히 알고 싶으시면 관련서적을 보시거나 검색해보시는 편이 나으실 겁니다^^

그밖에  

-----------------------------------------------------------------------------------------

[펌]내사랑꿀떡 


java 1.5 이후에 generic type 에서 unchecked 라고 경고하는경우에.(이클립스 같은 ide에서) 또는 콘솔에서도 컴파일 할때 하는듯 하다.


@SuppressWarnings("unchecked")

이 annotation을 해당 메서드 앞에 또는 해당 멤버 변수에 얹어준다.


class Test(){

......


@SuppressWarnings("unchecked")

private List list;

....


@SuppressWarnings("unchecked")

public void setList(List list){

this.list = list;

}


}


또 지역변수에서 사용하는 경우가 있는데... 변수에 바로 할당하는 경우는 그위에 얹어도 되지만

변수를 할당하고 중간에 사용하면 안된다..  그러니까


public void method(){

....

@SuppressWarnings("unchecked")

List list = xxx.getList();

//이거는 되지만

}


public void method(){

....

List list = null;

....


@SuppressWarnings("unchecked")

list = xxx.getList();

//이거는 싫다고 한다. 

....

}


이클립스 노란느낌표 뵈기 싫어서.. ^^;;

---------------------------------------------------------------------------------------------------
@SuppressWarnings 어노테이션은 네이밍처럼 compile시 warnning을 체크하지 않기위한
용도로  사용됩니다.

argument의 "serial"은
java.io.Serializeable 인터페이스를 구현하는데 serialVersionUID 를 정의해 주지 않은 경우
나타나는 warnning을 체크하지 않겠다는 의미 입니다.

출처 : http://mykjy.tistory.com/7


posted by cozyboy
: