롸?

제네릭(Generic) 본문

프로그래밍/JAVA

제네릭(Generic)

허니버터새우깡 2020. 2. 4. 15:57

제네릭은 Java 5부터 추가된 타입. 

제네릭은 클래스와 인터페이스, 그리고 메소드를 정의할 때 타입(type)을 파라미터로 사용할 수 있도록 한다. 타입 파라미터는 코드 작성시 구체적인 타입이 대체되어 다양한 코드를 생성하도록 해준다.

클래스, 인터페이스, 메소드들이 사용할 타입을 외부에서 설정하기 때문에 컴파일 시 미리 타입을 강하게 체크를 해서 에러를 사전에 방지할 수 있다. 

 

 

비제네릭 코드는 불필요한 타입 변환을 하기 때문에 성능에 악영향을 미친다. 

 

 

Example)

List list = new ArrayList();
lsit.add("hello");
String str = (String) list.get(0); // 타입 변환을 해야 한다.

 

제네릭 코드로 수정하면 List에 저장되는 요소를 String 타입으로 제한하기 때문에 요소를 찾아올 때 타입 변환을 할 필요가 없어 프로그램 성능이 향상된다.

 

Example)

List<String> list = new ArrayList<String>(); //<String> 제네릭을 지정
list.add("hello");
String str = list.get(0); // 타입 변환 하지 않아도 된다.

 

 


참고 

1.  도서 이것이 자바다 신용권의 Java 프로그래밍 정복 

'프로그래밍 > JAVA' 카테고리의 다른 글

DAO, DTO, VO  (0) 2020.02.04
Wrapper 클래스  (0) 2020.02.04
싱글톤(Singleton)  (0) 2020.02.04
static과 JVM 메모리 구조  (0) 2020.02.04
추상(abstract)  (0) 2020.02.04
Comments