2017년 10월 7일 토요일

제네릭이란?

제네릭Generics
ex) ArrayList<E>

다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일시의 타입 체크(compile-time type check)를 해주는 기능이다.

>>쉽게 말해 다룰 객체를 미리 명시해줌으로써 형변환을 사용하지 않고 사용하는 것.....
<String>제네릭스는 String 객체만 사용 가능, 다른 자료형 사용하면 오류!?

ArrayList<String> StringList = new ArrayList<String>();
StringList.add("a");
StringList.add("b");

ArrayList<Integer> IntegerList = new ArrayList<Integer>();
IntegerList.add(1);
IntegerList.add(2);

ArrayList<Tv> TvList = new ArrayList<Tv>();
TvList.add(newTv());

ArrayList List = new ArrayList();
List.add(1);
List.add("a");
>>제네릭스를 사용하지 않는 경우 Object타입으로 간주된다. 그래서 형변환을 해줘야함!!

<> 형태
<E> : Element(자바 컬렉션에서 주로사용)
<K>,<V> : Key, Value(map 자료구조에서 주로 사용)
<T> : 일반적인 제네릭 타입을 의미
<N> : Number를 의미

**컬렉션 정리
http://hackersstudy.tistory.com/26

제네릭의 장점
1. 타입 안정성을 제공한다.

2. 타입체크와 형변환을 생략할 수 있으므로 코드가 간결해 진다.




참고
http://arabiannight.tistory.com/entry/%EC%9E%90%EB%B0%94Java-ArrayListT-%EC%A0%9C%EB%84%A4%EB%A6%AD%EC%8A%A4Generics%EB%9E%80


http://kiwi99.tistory.com/3

댓글 없음:

댓글 쓰기