JDK5.0 새롭게 변화한 것 및 추가사항
2008. 8. 20. 15:09 in My work space/Java

JDK5.0 새롭게 변화한 것 및 추가사항
1. Generic Type: collection은 대부분 런타임시 에러가 체크가 되었지만, 이 타입을 사용하면, 컴파일시 타입에러를 알수가 있다.
ex) Collection에서 Map<String,String> dataMap = new HashMap<String,String>();
와일드 카드이용 Vector<? extends Object> list = new Vector<String>();
기존의 방식은 데이터형의 안전성이 코딩단계에서 걸러지지 않고, 실행단계에서 영향을 미치게 되는 것이다. 또한 프로그래머가 해당 컬렉션에 저장된 클래스 인스턴스의 데이터형에 대해서 사전에 알아야만 캐스팅을 할 수 있다는 번거로움이 있다.
1. Generic Type: collection은 대부분 런타임시 에러가 체크가 되었지만, 이 타입을 사용하면, 컴파일시 타입에러를 알수가 있다.
ex) Collection에서 Map<String,String> dataMap = new HashMap<String,String>();
와일드 카드이용 Vector<? extends Object> list = new Vector<String>();
기존의 방식은 데이터형의 안전성이 코딩단계에서 걸러지지 않고, 실행단계에서 영향을 미치게 되는 것이다. 또한 프로그래머가 해당 컬렉션에 저장된 클래스 인스턴스의 데이터형에 대해서 사전에 알아야만 캐스팅을 할 수 있다는 번거로움이 있다.
Generic지원 클래스 정의
public class Common<T>{
public T member;
public void setMember(T mem){
this.member = mem;
}
}
Generic의 이용
Commom<String> common = new Common<String>();
public class Common<T>{
public T member;
public void setMember(T mem){
this.member = mem;
}
}
Generic의 이용
Commom<String> common = new Common<String>();
2. 메타데이터
3. 개선된 루프
for ( 데이타 접근변수명 : 배열이나 컬렉션 변수명){
반복코드
}
반복코드
}
4. 오토박싱/언박싱 : primitive타입과 클래스간에 자동 형변환!
5. static import
유틸리티성 메소드들은 정의할 때 static 으로 정의하고 사용할 때는
객체를 생성하지 않고 바로 사용합니다.
예를 들면 콘솔에 글자를 출력하기 위해서 사용하는
System.out.println("화면에 출력합니다");
이것일 것 같습니다. ^^
static import 를 사용하면 다음과 같이 사용할 수 있습니다.
import static java.lang.System.out;
사용할 때는
out.println("화면에 출력합니다.");
앞에 클래스명을 생략할 수 있습니다.
하나더 예를 든다면
import static java.lang.System.out;
import static java.lang.Math.*;
이렇게 import 한 후에
out.println( round(1.3) );
이렇게 사용할 수 있습니다.
6. formatter와 Scanner : C언어와 같은 printf메소드 지원
7. Varargs(Variable Arguments)
int add(int... arg){ ... }
파라미터가 몇개가 들어올지 모른다는 것을 의미한다.
arg는 배열타입이다.
인자선언에서 마지막 인자로 사용되어야 한다.
비정형 인자는 한번만 사용할 수 있다.
파라미터가 몇개가 들어올지 모른다는 것을 의미한다.
arg는 배열타입이다.
인자선언에서 마지막 인자로 사용되어야 한다.
비정형 인자는 한번만 사용할 수 있다.
8. Simple RMI interface generation기법
9. JDBC RowSets
1,4,6번정도는 실제 개발시 많은 도움이 될거 같습니다.
'My work space > Java' 카테고리의 다른 글
JUNIT 사용 가이드라인 (0) | 2008.08.20 |
---|---|
Enumeration & Iterator (0) | 2008.08.20 |
Ⅶ. Activity Diagram (0) | 2008.08.20 |
Ⅵ. Collaboration Diagram (0) | 2008.08.20 |
Ⅴ. Sequence Diagram (0) | 2008.08.20 |