'자바 제네릭'에 해당되는 글 1건

  1. 2012.10.01 Java Generics
프로그래밍/JAVA2012. 10. 1. 21:20

출처: http://docs.oracle.com/javase/tutorial/java/generics/types.html

 

 

Generics이란?

generics은 class와 interface를 type화 시킬 수 있다.  generics를 사용하면 다음과 같은 이점이 있다.

  • 컴파일 시에 type 체크를 할 수 있다.

컴파일 시에 generic 코드를 체크 함으로써 에러를 미리 방지 할 수 있다.

  • cast를 생략할 수 있다.

List list = new ArrayList();

list.add("hello");

String s = (String) list.get(0);

를 generics을 사용한다면,

 

List<String> list = new ArrayList<String>();

list.add("hello");

String s = list.get(0);

  • generic algorithm을 사용 할 수 있다.

다른 type들로 이루어진 collections에 대한 generic algorithm을 사용할 수 있다.

 

일반적인 Generics  사용법

 

generic class는 다음과 같은 형태이다.

class name<T1, T2, T3, .... Tn> { ... }

 

예제를 통해 보자.

 

generic을 써서 위의 코드를 다시 작성하면,

 

 

보는 바와 같이 Object 대신 type T를 사용할 수 있다.  왜 T냐면.. 보통 다음과 같은 conventions를 따르기 때문이다.

 E

 Element

 K  Key

 N

 Number
 T  Type
 V  Value

 S, U, V

 2nd, 3rd, 4th types

 

 

Generic Type 사용법

 

geneirc Box class를 참조시에 다음과 같이 한다.

Box<Integer> integerBox;

 

위의 경우 Type argument이다. 여기서 Type paramemter 랑 Type argument의 차이점을 보자.

 

Type Parameter and Type Argument Terminology: Many developers use the terms "type parameter" and "type argument" interchangeably, but these terms are not the same. When coding, one provides type arguments in order to create a parameterized type. Therefore, the T in Foo<T> is a type parameter and the String in Foo<String> f is a type argument. This lesson observes this definition when using these terms

 

 

 

 

 

 

 

'프로그래밍 > JAVA' 카테고리의 다른 글

OTA Package Utility  (0) 2013.11.25
Swing desiginer LookAndFeel 종류  (0) 2013.11.19
WindowBuilder Pro for Eclipse 3.7(Indigo) 설치 오류  (0) 2012.08.06
ant 빌드가 안될 때  (0) 2011.10.19
Posted by code cat