왜 제네릭을 사용해야 하는가?

 - 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);


}



+ Recent posts