SSinsa
3. 제네릭 이해하기 본문
제네릭, ' 매개변수화된 타입'
List 클래스는 가능한 한 모든 타입을 다룰 수 있어야한다. (List 인스턴스는 다형성이 있다)
또한, 다시 말해서는 List에 확실히 들어갈 수 있는지 확인이 필요하다.
확실히 하지 않는다면 ClassCastException이 발생한다.
이럴때 직접 타입 변환 없이 제네릭을 사용하면 된다.
기본적으로 대부분의 에러가 실행 에러가 컴파일러 에러로 바뀔 수 있다. -> 수정이 빨라져 개발 속도를 상승시킨다
# 제네릭의 특징
1) 제네릭을 사용하면 한 가지 타입의 매개변수만 받을 수 있다.
2) 제네릭 타입은 중첩해서 사용가능
-> E타입 사용
-> 상속관계에 의해 생기는 컴파일 에러는 부모클래스와 부모 클래스의 모든 하위 클래스를 실행될 수 있도록
명시적으로 변경해야함
-> '?' 와일드 카드 사용 : 컴파일러에게 부모클래스를 확장한 모든 인스턴스를 사용할 수 있게 하라고 전달
# 구상화
구상화 한다, 실행 시에 이용할 수 있다는 의미.
그러나 제네릭 타입은 구상화가 아니다.구현 코드의 모든 타입 정보를 컴파일러가 확인하기 때문
'Java > Java Programming' 카테고리의 다른 글
| 9. JUnit으로 테스팅하기 (0) | 2020.02.18 |
|---|---|
| 5. 어노테이션 이용하기 (0) | 2020.02.05 |
| 4. 오토박싱과 언박싱 이해하기 (0) | 2020.02.05 |
| 2. String 이용하기 (0) | 2020.01.15 |
| 1. 배열과 리스트의 관계 (0) | 2020.01.15 |