Java

[Java-13] 제네릭

zamezzz 2017. 3. 18. 18:03

제네릭 (Generic)


오늘은 제네릭에 대해 정리하겠습니다.


빈번한 타입의 변환은 프로그램 성능에 좋지 않은 영향을 미칩니다.


그렇기에 이러한 형 변환 시 발생할 수 있는 문제점을 사전에 방지하기 위해 '제네릭'이 있습니다


제네릭은 특정 자료형에 얽매이지 않고 프로그래밍을 할 수 있게 해줍니다.


구체적인 타입을 명시하지 않고, 타입 파라미터로 대체하여 사용하죠.


● 선언 방법


사용 방법은 다음과 같습니다.


public class 클래스명<T> {...}

public interface 인터페이스명<T> {...}


타입 매개변수 T를 사용한다는 것 외에는 기존 클래스와 인터페이스 형태와 동일합니다.


타입 매개 변수의 형태는 다음 5가지가 있습니다.

- E : Element

- K : Key

- N : Numer

- T : Type

- V : Value


● 사용 예시


간단한 public 클래스 예시를 한번 같이 보겠습니다.


public class GenTest<T> {

    private T t;


    public void set(T t) {

        this.t = t;

    }


    public T get() {

        return t;

    }

}


T타입을 가진 변수 t를 선언합니다.


그리고 t 값을 set하는 메소드와 get하는 메소드를 가진 GenTest 클래스입니다.


물론 타입 매개 변수 T를 가진 제네릭 클래스이죠.


이후 해당 클래스에 원하는 타입으로 사용할 수 있습니다.


제네릭을 사용할 경우 컴파일 시 타입이 최종적으로 결정되므로, 안전하고 효율적으로


프로그래밍을 할 수 있습니다.



이상으로 제네릭의 개념과 사용방법을 정리하였습니다.


감사합니다.

반응형

'Java' 카테고리의 다른 글

[Java-15] JVM 개념과 구조  (0) 2017.11.18
[Java-14] 어노테이션  (0) 2017.05.08
[Java-12] 람다식 (Lambda)  (0) 2017.03.11
[Java-11] 스트림 (Stream)  (0) 2017.03.02
[Java-10] 예외 처리(Exception)  (0) 2017.02.18