Java Generic

Java/기본 2012. 4. 18. 11:31 Posted by 퓨어레드

Java Generic

-       개발팀 남한희 대리

1.     Generic 이란?

A.     Java 5.0 부터 지원한 Generic 이란 데이터 형을 템플릿화 하여 좀 더 세련된 코딩을 할 수 있게 해주는 개발 편의 문법

B.      데이터 형을 Templete 한다는 데 가장 큰 의미가 있다.

2.     데이터 형이 결정되지 않는 개발..

A.     보통의 자료 구조에선 여러 데이터형을 처리할수 있어야 하기 때문에 데이터 형을 결정하지 못하는 경우가 많다.

B.      그렇기 때문에 데이터형을 결정하지 못한다면 최상위 객체인 Object 형을 사용하여 하위 캐스팅을 하여 사용 했다.

C.      Object 형을 사용 하였을 경우 가장 큰 문제점은 하위 캐스팅에 대한 부담감이다.

D.     하위 캐스팅을 잘못하였을 경우 Exception 이 발생되기 때문이다.

E.      그렇기 때문에 여러 데이터형을 지원하는 자료구조들도 5.0 이후에는 제너릭을 지원하게 되었다.

3.     문법

A.     클래스를 정의하는 부분에 제너릭 타입을 정의한다.
class MyData<T>

 

B.      T 라는 제너릭이 생성 되었다.

                         i.         사용 할때는 T 로 사용한다.

class MyData<T>
{
    T getData ()
    {
    }

    void setData (T abc)
    {
    }
}



C.      클래스 생성

- 제너릭을 정확히 명시해준다.

MyData<String> myData = new MyData<String> ();

// JDK1.8 부터는 생성객체에는 열거 안해도 된다.
MyData<String> myData = new MyData<> ();

 

 

4.     Generic 이 무조건 답은 아니다.

A.     항상 꼭 Generic 을 사용 하는게 정답은 아니다. 데이터 형이 애매한 경우는 Object 를 사용하고 한번에 한 데이터 형을 결정 해야 하는 경우는 Generic 을 사용하면 매우 깔끔한 코딩을 할 수 있다.

 

B.      Object, Generic 은 개발자의 선택의 문제이므로 개발자가 판단하여 결정하도록 한다.

 

'Java > 기본' 카테고리의 다른 글

Java.. 레이블된 break, continue  (0) 2012.04.18
현재 사용하는 OS 이름 가져오기  (0) 2012.04.18
ByteStream  (0) 2012.04.18
Method 동적 호출  (0) 2012.04.18
자바 타이머 기능  (0) 2012.04.18