왜 제네릭을 사용해야 하는가?
- Java 5부터 제네릭(Generic) 타입이 새로 추가 되었다.
- 제네릭 타입을 이용함으로써 잘못된 타입이 사용될 수 있는 문제를 컴파일 과정에서 제거할 수 있게 되었다.
- 제네릭은 컬렉션, 람다식, 스트림, NIO, API Document에서 많이 쓰이기 때문에 확실하게 이해해 두어야 한다.
- 제네릭은 클래스와 인터페이스, 그리고 메소드를 정의할 때 타입(type)을 파라미터(Parameter)로 사용할 수 있도록 한다.
제네릭의 강점
- 컴파일 시 강한 타입 체크를 할 수 있다.
: 자바 컴파일러가 코드에서 잘못 사용된 타입 때문에 발생하는 문제점을 제거하기 위해 제네릭 코드에 대해 강한 타입 체크를 하여
: 실행 시 타입 에러가 나는 것보다는 컴파일 시에 미리 타입을 강하게 체크해서 에러를 사전에 방지하도록 한다.
- 타입 변환(casting)을 제거한다.
: 비제네릭 코드는 불필요한 타입 변환을 하기 때문에 프로그램 성능에 악영향을 미친다.
: 비제네릭 코드와 제네릭 코드의 차이
> 비 제네릭 코드
void defaultCasting() {
List list = new ArrayList(); // 비제네릭 코드
list.add("Hello");
String str = (String) list.get(0); // 형변환
System.out.println(str);
}
> 제네릭 코드
void genericCasting() {
List<String> list = new ArrayList<>(); // 제네릭 코드
list.add("Hello");
String str = list.get(0);
}
'학업' 카테고리의 다른 글
[C++] GetAsyncKeyState() , GetKeyState() (0) | 2017.06.01 |
---|---|
[네트워크 프로그래밍] - Collection Framework (0) | 2017.05.07 |
[네트워크 프로그래밍] - Thread (0) | 2017.05.05 |
[네트워크 프로그래밍(JAVA)] I/O (0) | 2017.04.29 |
c언어 fgets, strcpy, strtok (2) | 2017.04.01 |