Java

[Java] jdk 5.0 유용한 기능

Sort 2011. 7. 15. 15:38


[ 출처 : http://www.androider.co.kr/apps/board/view.do?tablecode=1279955569360 ]

JAVA 5.0 이 발표되면서 VM의 성능 향상, Class Data Sharing에 따른 어플리케이션의 시작 시간이 단축되고 Garbage Collector 의 성능이 향상되었다고 한다. 어쨋든 우리는 개발자의 측면에서 언어 스펙이 어떻게 변화될 것인가에 대해 알아볼 것이므로 아래의 항목을 살펴보며 5.0에서 변화된 것들을 파악해보자.


1. Generics의 사용 


- 개념 : 타입에 대한 추상성을 제공하여 클래스와 메소드의 동작에 대한 타입 제약을 기술하기 위한 수단(Collection에서 유용)


- 특징 : 특정한 타입만이 들어갈 수 있도록 직관적인 명시, 코드의 간결함


- 장점 : 컴파일시의 Type Check 가능 (빈번하게 발생되는 형변환 에러를 방지함)




위와 같이 선언시의 타입을 명시함으로써 타입에 대한 컴파일 시점의 파악이 용이하게 된다.


2. Enhanced for loop
- 향상된 for loop 문을 제공함으로써  Iterator를 생성하거나 카운터 변수의 시작과 끝 상태를 계산할 필요 없이 콜렉션을 반복할 수 있게 해준다


3. Autoboxing / Unboxing
- Autoboxing은 Primitive타입과 Wrapper객체 사이의 변환을 자동으로 처리해주는 기능을 말한다.


4. Typesafe Enums
- type safe한 열거형 상수이다.
- 자체가 클래스이고, 따라서 클래스의 모든 특징을 가진다.


5. Varargs
- 가변길이 인수(Type 만 같다면 동적으로 인수를 받을 수 있다)

6. 기타
- Static Import : 클래스명의 사용없이 static 멤버 변수와 static 멤버 함수를 접근할 수 있다.
- 소스코드의 가독성은 떨어지므로 개인적으로는 권장하지 않는다.

 - Annotation : 프로그램의 일부가 아닌 해석 데이터형의 개념을 제공해준다. 선억적 프로그래밍 모델을 지원하기 위한 방법인데 프로그래밍 언어의 해석단계에서 내장 주석처럼 인식하게 된다.
중요한 개념이므로 다른 강좌를 통해 다시 파악해보도록 하자.