자바 5.0 프로그래밍
chapter 15 : Generics 과 JDK5.0의 추가내용
학습목표 Generics Varargs enum 오토박싱/언오토박싱
정의 Collection 구조적인 문제 Generics Collection의 구조적인 문제를 보완하기 위해서 JDK5.0 에서 추가된 기능이다. Type을 구체화할 때 사용할 수 있다. Collection 구조적인 문제 Collection에는 모든 객체를 저장할 수 있다. 이것은 타입이 서로 다른 객체도 저장할 수 있음을 의미한다. 저장된 객체를 얻어올 때는 반드시 실제객체로 type Casting을 해주어야 한다. Type Casting이 잘못되었어도 실행할 때 비로소 알 수 있다. 가독성과 신뢰성을 떨어뜨린다.
Generics Collection 구조적인 문제 예제
사용방법 사용방법 <T> <E> <K> <V> Generics <> 로 표현한다. <T> , <E> , <K> , <V> 로 표현된다. <T> 전달되는 객체가 현재 클래스에서 자료형( Type ) 으로 사용될때. <E> 전달되는 객체가 현재 클래스에서 요소( Element ) 으로 사용될때. <K> 전달되는 객체가 현재 클래스에서 키( Key )값으로 사용될때. <V> 전달되는 객체가 현재 클래스에서 값( Value ) 으로 사용될때.
java.util.ArrayList API 문서 Generics java.util.ArrayList API 문서
Generics 예제
용도 방법 Varargs JDK5.0이전 버전에서는 메소드 호출 시 인자의 수가 반드시 일치해야 호출이 가능했다. 유연성을 제공한다. 방법 메소드의 인자로 ( Type … 변수 )로 지정한다. 컴파일시 인자로 넘어온 개수만큼 배열이 생성된다.
Varargs 예제
정의 방법 용도 특징 열거형 ( enum ) 여러 개의 상수들을 모아서 만든 객체를 의미한다. 사용할 때는 열거형명.상수값 으로 접근한다. 용도 제한된 상수값만을 사용하고자 할때. 특징 switch( 변수 ) 에서 변수 타입으로 enum을 사용할 수 있다. ordinal() 메소드를 사용하여 순서값을 얻어올 수 있다. ordinal값은 0부터 시작한다.
열거형 ( enum ) 예제
개념 오토박싱/언오토박싱 기본 데이터형과 Wrapper클래스간의 데이터형 변환을 자동으로 변화되도록 제공한다. JDK5.0 에서 추가된 기능이다. Type casting 작업이 불필요하다.
요약 정리 Generics 오토박싱/언오토박싱 enum Varargs