nickjoIT
지네릭스(Generics) 본문
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