[JAVA] Generic이란 무엇인가?
Generic 제네릭이란 데이터 타입을 일반화한다는 것을 의미한다. 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정하는 것이다. *JDK 1.5 이전에는 여러 타입을 사용하는 클래스나 메소드에서 인수나 반환값으로 Object 타입을 사용했었다. 이 경우 반환된 Object 객체를 다시 원하는 타입으로 변환해야 했으며, 이때 오류가 발생할 가능성이 존재한다. JDK1.5 부터 도입된 제네릭을 활용하면 컴파일 시 미리 타입이 정해지므로, 타입검사나 타입 변환과 같은 번거로운 작업을 생략할수 있게 된다. 예제 class MyArray< T > { T element ; void setElement ( T element){ this . element = element ; } T getElement () { return element ; } } 예제에 나오는 'T' 를 타입변수라고 하며, 임의의 참조형 타입을 의미한다. - T 뿐만 아니라 어떠한 문자를 사용해도 상관없음 - 여러개의 타입변수를 쉼표로 구분하여 명시 가능 타입변수는 클래스 뿐만아니라 메소드의 매개변수나 반환값으로도 사용할 수 있다. main() 출력 MyArray<Integer> myArray = new MyArray<Integer>() ; myArray.setElement( 1 ) ; //myArray.setElement(" 문자 "); --> error System. out .println(myArray.getElement()) ; // 1 제네릭 클래스를 생성할 때에는 타입변수 자리에 실제 타입을 명시해야한다. 이렇게 실제 타입을 명시하면, 내부적으로 정의된 타입 변수가 명시된 실제 타입으로 변환되어 처리된다. Java SE7 이상 MyArray<String> myArray1...