목차
- 제네릭(Generics) 이란?
- 제네릭을 사용하는 이유
- 기본 예제
- 제네릭 용어
- 객체 생성 방법
- 제네릭 타입과 다형성
- 참조변수와 생성자의 타입 변수는 일치해야 함
- 제네릭 클래스 간의 다형성은 성립됨 (타입 변수는 일치해야 함)
- 매개 변수의 다형성도 성립됨
- 심화 예제
1. 제네릭(Generics) 이란?
- 데이터 형식에 의존하지 않고, 하나의 값이 여러 다른 데이터 타입들을 가질 수 있도록 하는 방법
- <> 괄호 안에 타입을 넣어 객체(Object)에 사용하려는 타입을 외부에서 지정하는 것
1) 제네릭(Generics) 을 사용하는 이유
- 컴파일 시 타입 에러 방지 : 컴파일러는 코드에서 발생하는 Runtime에러를 Compile에러로 가져오기 위해서
- runtime 에러 : console 창이 터져서 프로그램 실행 안됨
- complie 에러 : 컴파일 시 타입 에러를 미리 확인 가능
- 형변환 생략 : 제네릭은 컴파일러에 의해 자동으로 타입이 변화되므로 불필요한 형변환 생략 가능
2) 기본 예제
2. 제네릭(Generics) 용어
- ArrayList<Object> : 제네릭 클래스
- ArrayList : 원시타입(raw type), 일반 클래스의 타입, 참조 변수
- <Object> : 타입 변수 Object 선언
- Object : 타입 변수, 타입 매개변수
3. 제네릭(Generics) 생성 방법
- 참조 변수의 타입변수가 생성자의 타입 변수와 일치해야 함 (생성자의 타입 변수는 생략가능)
4. 제네릭(Generics) 타입과 다형성
1) 참조변수와 생성자의 타입 변수는 일치해야 함
2) 제네릭 클래스 간의 다형성은 성립됨 (타입 변수는 일치해야 함)
3) 매개 변수의 다형성도 성립됨
5. 심화 예제
'IT 언어 > Java' 카테고리의 다른 글
[Java] Thread -1 (프로세스, 싱글스레드, 멀티스레드) (0) | 2024.02.19 |
---|---|
[Java] enum (열거형 사용법) (0) | 2024.02.19 |
[Java] Comparable 과 Comparator (객체 정렬) (0) | 2024.02.14 |
[Java] Arrays 클래스 (0) | 2024.02.14 |
[Java] Stack 과 Queue (0) | 2024.02.12 |