Java 프로그램 언어의 확장 기능 - xrath.com 에서 번역됨

# Java 프로그램 언어의 확장 기능

문서의 목차

## JDK 5 에서의 확장 기능

> - 총칭 - 오랫동안 기다려지고 있던 형태 시스템의 기능확장입니다. 형태 또는 메소드로, 컴파일시의 형태 보증을 갖추면서, 다양한 형태의 객체로 조작할 수 있습니다. 컴파일시의 형태 보증이 Collections Framework 에 추가되어 캐스트 조작의 번잡함을 없앴습니다. 「Generics Tutorial」를 참조해 주세요. JSR 14 )
> - 확장된 `for` 루프 - 이 새로운 언어 구조에 의해, 컬렉션이나 배열로 반복 처리를 실시할 때의, 반복자 및 인덱스 변수의 번잡함이나 에러 발생의 가능성이 없어졌습니다. (JSR 201 )
> - 오토 박싱 / 언 박싱 기능 - 이 기능에 의해, 원시형 (int 등)과 래퍼형 (Integer 등)의 사이의 수동 변환의 번잡함을 없앴습니다. (JSR 201 )
> - 형태 보증된 열거 - 이 유연한 객체 지향의 열거형에서는, 임의의 메소드나 필드를 가지는 열거된 형태를 작성할 수 있습니다. 번잡함이나 에러 발생의 가능성없이, Typesafe Enum 패턴 ( 「Effective Java」 제 21 항)의 모든 이점을 실현하고 있습니다. (JSR 201 )
> - 가변 인수 - 이 기능에서는, 가변 길이의 인수 리스트를 허가하는 메소드를 호출할 때, 수동으로 인수 리스트를 배열에 가둘 필요가 없습니다.
> - static 의 임포트 - 이 기능에서는, static 멤버를 클래스명으로 수식할 필요가 없고, 「Constant Interface Antipattern」의 결점도 없습니다. (JSR 201 )
> - 주석 (메타데이타) - 이 언어 기능을 사용하면(자), 많은 경우에 상용 코드를 기술할 필요가 없습니다. 상용 코드는, 원시 코드의 주석으로부터 툴을 사용해 생성됩니다. 이것에 의해, 프로그래머가 무엇을 해야 하는지, 라고 하는 「선언형의」프로그래밍 방법이 실현되어 그 코드는 툴이 생성합니다. 또, 원시 파일의 변경에 맞추어 최신 상태로 해 두지 않으면 안 되는 「부속 파일」을 보수할 필요가 없습니다. 그 대신에, 필요한 정보는 원시 파일내에서 보수합니다. (JSR 175 )
>   주:`@Deprecated` 주석을 사용하면(자), 프로그램의 요소를 비추천으로 할 수 있습니다. 「언제, 어떻게 API 를 비추천으로 할까」를 참조해 주세요.
> 총칭에 관한 정보
> - JSR14:Adding Generic Types to the Java Programming Language
>   - 「Generics Tutorial」 (PDF) Bracha
>   - 「Latest JSR14 draft specification」 . javac 의 이전의 prototype 릴리스도 포함되어 있다
>   - 「Earlier public review draft specification」,Java Community Process
> - 「Making the Future Safe for the Past: Adding Genericity to the Java Programming Language」(PDF)
>   Bracha, Odersky, Stoutamire, and Wadler. OOPSLA 98, Vancouver, October 1998. (다른 형식)
> - 「GJ: Extending the Java Programming Language with Type Parameters」(PDF)
>   Bracha, Odersky, Stoutamire, and Wadler. A tutorial on GJ. August 1998. (다른 형식)
> - 「Adding Generics to the Java Programming Language」(PDF)
>   Bracha.JavaOne 2003 프레젠테이션의 슬라이드.
> - 「Adding Wildcards to the Java Programming Language」(PDF)
>   Torgersen, Hansen, Ernst, Ahe, Bracha and Gafter.An ACM paper, 2004.
> 일반적인 정보
> - 「New Language Features for Ease of Development in J2SE 5.0:A Conversation with Joshua Bloch」
> - 「Forthcoming Java Programming Language Features」 (PDF)

## JDK v1. 4 에서의 확장 기능

> - assertion 기능 - assertion는, 프로그래머가 컴퓨터 프로그램의 특정 상태를 검증하기 위한 boolean 식입니다. 예를 들어, 리스트를 소트 한 후에, 프로그래머는 그 리스트가 승순인 것을 표명합니다. 실행시에 assertion를 평가해 타당성을 확인하는 방법은, 코드의 품질을 향상시키는 가장 강력한 방법의 1 개로, 프로그램의 동작에 관한 프로그래머의 오해를 즉시 검출할 수가 있습니다.