Chapter 12 제네릭

Red Culture·2021년 6월 16일
0

제네릭이란

변수의 선언이나 메서드의 매개변수를 하나의 참조 자료형이 아닌 여러 자료형으로 변환 될 수 있도록 프로그래밍 하는 방식이다. 실제 사용되는 참조 자료형으로의 변환은 컴파일러가 검증하므로 안정적이다.

제네릭을 사용하는 이유

제네릭은 클래스나 메서드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정하고, 컴파일 과정에서 잘못된 타입이 사용될 수 있는 문제를 제거할 수 있다. 클래스나 메서드 내부에서 사용되는 객체의 타입 안정성을 높일 수 있고, 반환값에 대한 타입 변환 및 타입 검사에 들어가는 노력을 줄일 수 있다.
(비 제네릭 타입은 반환값에 대한 타입 변환이 필요해 성능에 영향을 끼칠 수 있다.)

List list = new ArrayList();
list.add("test");
String str = (String) list.get(0);  // String 타입으로 형변환이 필요함

활용방법

-쓸 수 있는 타입에 대한 한정을 주기 위해 상속을 사용한다. (<T extends 상위 클래스>)
-> 상위 클래스를 상속받은 하위 클래스만 T 타입 사용 가능
-타입에 제약이 없으면 호출할 수 있는 메서드는 Object의 메서드 밖에 없다.
-제네릭 메서드는 메서드의 매개변수를 자료형 매개변수로 사용하는 메서드로 메서드 내에서의 자료형 매개변수는 메서드 내에서만 유효하다. (지역변수와 같은 개념)
-제네릭 타입을 사용하지 않으면 Object로 간주 (타입은 쓰는 것이 좋음)

profile
자기 개발, 학습 정리를 위한 블로그

0개의 댓글