1. 지네릭스 - 타입시스템
- 지네릭스 : 여러 종류 배열을 참조
- Object를 T타입으로 변환
- Object : 여러 종류 객체 저장타입체크X(instanceof 필요)
- Class Box -> Class Box<T> -> Class Box><T extends &> 타입 체크 강화
2. 지네릭스의 제한
- static 안됨
- new T()안됨
- Box<Apple> box = new Box<Apple>() - 일치해야한다
3. 와일드카드
- <? extends T> : 와일드 카드의 상한 제한. T와 그 자손들만 가능
- <? super T> : 와일드카드의 하한 제한. T와 그 조상들만 가능
- <?> : 제한 없음 모든 타입이 가능. <? extends Object>와 동일
4. 지네릭 메서드
- 메서드 선언부에 타입 매개변수(type parameter)를 명시하여, 호출 시점에 그 타입 매개변수가 구체적인 타입으로 치환되어 동작하도록하는 메서드
5. 지네릭 타입의 형변환
- Box<Apple> -> Box<? extends Fruit> (구제척) = (Box<? extends Fruit>)Box<Apple> 형변환O
- Box<? extends Furit> -> Box<Apple> (경고) = (Box<Apple>)Box<? extends Fruit> 형변환X
- Optional<Object> -> Optional<?> -> Optional<String> 가능
- Optional<Object> -> Optional<String> 불가능
6. 지네릭 타입의 제거
- 하위호환성 제거 - 컴파일시 소스파일 체크, 형변환후 제거
'실시간 강의' 카테고리의 다른 글
23. 쓰레드 01/15 (2) - 패스트캠퍼스 백엔드 부트캠프 3기 (2) | 2025.01.15 |
---|---|
22. 열거형, 애너테이션 01/15 (1) - 패스트캠퍼스 백엔드 부트캠프 3기 (0) | 2025.01.15 |
20. 자료구조 01/10 (1) - 패스트캠퍼스 백엔드 부트캠프 3기 (0) | 2025.01.10 |
19. 자료구조 01/09 (2) - 패스트캠퍼스 백엔드 부트캠프 3기 (0) | 2025.01.09 |
18. 날짜와 시간 01/09 (1) - 패스트캠퍼스 백엔드 부트캠프 3기 (0) | 2025.01.09 |