자바를 1.6부터 접한 사람들은 raw타입이라는게 뭔지 잘모른다. 그렇다 아! 내가 모른다 

우리는 애초에 List 나 Set, Map 등을 <>를 이용해서 제네릭을 쓰도록 배웠기 때문이다. 
원천타입은 무엇이냐? <>를 이용해서 제네릭을 안쓰고 그냥 List list=new LinkedList() 의 형식으로 만든것을 말한다.
다시말해서 List <Object> 를 한것과 같이 동작한다.

Object 리스트를 만들면 add, get 등을 하면 Object를 이용하기 때문에 잘못된 객체가 들어가거나 나오는걸 체크할 방법이 없다. 실행하다보면 어느순간  ClassCastException이 뜨면서 에러가 난다. 이런 부분을 방지 하기 위해서 제네릭을 쓰는것이며 제네릭을 쓰게되면 이클립스같은 IDE라면 코드를 작성하는 도중, 메모장으로 한다면 javac를 이용해서 컴파일하는 순간에 에러가 난다.

격어보면 알겠지만 컴파일중에 에러가 나는게 얼마나 고마운지 모른다. 실행중에 에러나면 디버깅하기가 쉽지가 않기 때문이다.

그리고 일단 제네릭을 안쓰면 경고가 뜬다. 이클립스라면 노란 세모모양의 마크가 해당 라인에 뜨기 때문에 경고 보기 싫어서라도 제네릭을 쓰게된다.


하여튼 이 항목은 자바 1.5 이전버전을 사용하던 프로그래머들을 위한 항목이다.
제네릭따위 개나줘버려 라는 위험한 생각은 버리고 될수 있으면 제네릭을 사용하도록 하자. 
Posted by 동적할당
: