nickjoIT

지네릭스(Generics) 본문

PROGRAMING/JAVA

지네릭스(Generics)

nickjo 2016. 3. 8. 00:48

1. 지네릭스

- 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입체크(compile-time type check)를 해주는 기능이다.

- 객체의 타입을 컴파일 시에 체크하기 때문에 객체의 타입 안정성을 높이고 형변환의 번거러움이 줄어든다.


2. 지네릭스의 장점

- 타입 안정성을 제공한다.

- 타입체크와 형변환을 생략할 수 있으므로 코드가 간결해 진다.



3. 제한된 지네릭 클래스

- 다음과 같이 지네릭 타입에 'extends'를 사용하면, 특정 타입의 자손들만 대입할 수 있게 제한할 수 있다.



4. 와일드 카드

- 와일드 카드 기호 '?'로 표현하는데, 와일드 카드는 어떠한 타입도 될수 있다.

- '?'만으로는 Object 타입과 다를 게 없으므로, 다음과 같이 'extends'와 'super'로 상한(upper bound)와 하한(lower bound)을 제한할 수 있다.




5. 지네릭 메서드
- 메서드의 선언부에 지네릭 타입이 선언된 메서드를 지네릭 메서드라 한다
- 지네릭 타입의 선언 위치는 반환 타입 바로 앞이다.


- 지네릭 클래스에 정의된 타입 매개변수와 지네릭 메서드에 정의된 타입 매개변수는 전혀 별개의 것이다.
- 같은 타입 문자 T를 사용한다 해도 같은 것이 아니라는 것에 주의해야 한다.
- 매개변수의 타입이 복잡할 때 유용하다.



[참조문헌]

- 자바의 정석



'PROGRAMING > JAVA' 카테고리의 다른 글

스트림(stream)  (0) 2016.03.12
람다식  (0) 2016.03.09
컬렉션 프레임워크란 무엇인가  (0) 2016.02.18
String과 StringBuffer의 차이점  (0) 2016.02.18
스레드와 프로세스의 차이점  (0) 2016.02.12
Comments