■ 제네릭 (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 |