홈
home
자바
home
🙃

제네릭

강의명
김영한의 실전 자바 - 중급 2편
강의순서
1
과목
☕자바
수강상태
진행중

제네릭(Generic)

•
일반적인, 범용적인이라는 영어 단어 뜻
•
특정 타입에 속한 것이 아니라 일반적으로, 범용적으로 사용할 수 있다는 뜻

제네릭 타입(Generic Type)

•
클래스나 인터페이스르 정의할 때 타입 매개변수를 사용하는 것
•
제네릭 클래스, 제네릭 인터페이스를 모두 합쳐서 제네릭 타입이라 한다.
•
Ex)
class GenericBox<T> { private T t; }
Java
복사
여기에서 GenericBox<T>를 제네릭 타입이라 한다.

타입 매개변수(Type Parameter)

•
제네릭 타입이나 메서드에서 사용되는 변수로, 실제 타입으로 대체된다.
•
ex) GenericBox<T>
•
T를 타입 매개변수라 한다.

타입 인자(Type Argument)

•
제네릭 타입을 사용할 때 제공되는 실제 타입이다.
•
ex) GenericBox<Integer>
•
Integer를 타입 인자라 한다.
•
기본형(inte, double, …)은 사용할 수 없다. 대신에 래퍼 클래스(Integer, Double)를 사용

제네릭 명명 관례

•
일반적인 변수명처럼 소문자로 사용해도 문제는 없음
•
일반적으로 대문자를 사용하고 용도에 맞는 단어의 첫글자를 사용하는 관례를 따름
주로 사용하는 키워드 E - Element K - Key N - Number T - Type V - Value S,U,V etc. - 2nd, 3rd, 4th types

타입 추론

GenericBox<Integer> integerBox = new GenericBox<Integer>(); // 타입 직접 입력 GenericBox<Integer> integerBox2 = new Generic<>(); // 타입 추론
Java
복사
•
자바 컴파일러가 타입을 추론할 수 있는 상황에만 가능. (읽을 수 있는 타입 정보가 주변에 있어야 추론할 수 있음)

제네릭의 타입 매개변수와 타입 인자

메서드의 매개변수는 사용할 값에 대한 결정을 나중에 미루는 것이고, 제네릭의 타입 매개변수는 사용할 타입에 대한 결정을 나중으로 미루는 것이다.
•
메서드는 매개변수에 인자를 전달해서 사용할 값을 결정한다.
•
제네릭 클래스는 타입 매개변수에 타입 인자를 전달해서 사용할 타입을 결정한다.
Kakao Channel