1. 자바 제네릭이란?
- 객체의 타입을 컴파일 시점에 결정
- 이유 : 형 변환에서 발생할 수 있는 문제점을 사전에 없애기 위해 만들어짐.(이것이 가장 큰 이유)
- Ex) Object a 라면, (int) 등으로 객체를 변환시켜줘야 해서 런타임 시점에 에러가 발생함.(즉, 에러를 미리 볼 수 없음)
2. 제네릭 사용조건
- Primitive type은 사용불가. 객체 reference type만 사용 가능. 그래서 wrapper 클래스로 int, long 등의 primitive type을 객체로 변환시켜서 원소로 만듦.
- 이유(내 생각을 적어봄)
- 객체 타입은 reference값(주소 값)을 가지고 있다. (Array, list, map, set처럼) 그래서 pass by reference가 된다.
- 하지만 primitive 타입은 값을 가지고 있다. 그래서 pass by value가 된다. 즉, 값 유지가 안된다.
- (만약 다른 이유라고 생각하신다면 댓글로 적어주시면 감사하겠습니다.)
'JAVA' 카테고리의 다른 글
| 절차지향과 객체지향의 차이점 (0) | 2022.04.23 |
|---|---|
| nested class (0) | 2022.04.20 |
| 상속 (0) | 2022.04.20 |
| interface와 abstract 차이점 (0) | 2022.04.20 |
| Java 환경설정 (0) | 2021.10.30 |