제네릭 보충자료
제네릭이 필요한 이유
(1) 동일한 기능, 다른 타입
class Printer {
void printString(String str) {
System.out.println("String: " + str);
}
void printInteger(Integer num) {
System.out.println("Integer: " + num);
}
}(2) 다형성으로 해결
(3) 제네릭으로 해결
제네릭을 사용한 해결 코드
실행 결과
제네릭의 기본 특징
(1) 기본형은 제네릭 타입으로 사용할 수 없다
(2) <> 없이 사용 가능 (원시 타입, Raw Type)
2. 타입 매개변수 제한
(1) extends로 제한
extends로 제한3. 제네릭 메서드
(1) 정의와 특징
(2) 예제: 캐스팅 없이 타입 반환
(3) 타입 제한이 있는 제네릭 메서드
(4) 제네릭 메서드의 타입 추론
4. 제네릭 클래스와 제네릭 메서드의 차이
5. 정리
와일드카드 (Wildcard)
1. 와일드카드란?
코드 설명:
실행 결과:
2. 와일드카드와 제네릭의 차이점
3. 와일드카드의 타입 제한
(1) 제한 없는 와일드카드 (<?>)
<?>)(2) 상한 제한 와일드카드 (<? extends Type>)
<? extends Type>)(3) 하한 제한 와일드카드 (<? super Type>)
<? super Type>)4. 와일드카드의 특징과 주의점
타입 이레이저 (Type Erasure)
1. 타입 이레이저란?
2. 타입 이레이저의 동작
3. 타입 이레이저의 주의점
4. 예제: 타입 이레이저 동작
(1) 제네릭 클래스 컴파일 후 동작
(2) extends를 활용한 타입 제한
extends를 활용한 타입 제한5. 정리
와일드카드
타입 이레이저
Last updated