제네릭(Generic)
: 제네릭의 사전적 용어를 찾아보면 ( 포괄적인, 총칭의 ) 라는 뜻을 가진 단어이다.
java에서는 클래스에서 사용할 타입을 클래스 외부에서 설정하는 기법을 의미한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
|
public class GTest<T> {
private T data;
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
}
|
cs |
위와 같은 방법으로 사용되며, T는 보통 Type을 뜻한다.
<종류>
E - Element
K - Key
N - Number
T - type
V - Value
1. Generic Class
: 클래스 내부에서 사용될 자료형을 지정한다.
괄호안엔 반드시 reapper 클래스 사용
2. Generic Method
: 클래스에 제네릭을 선언하지 않고, 메서드에만 제네릭을 선언
메소드의 매개변수 또는 리턴타입이 제네릭이라면
리턴타입 앞에도 제네릭을 선언해야 한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
public class GTest2 {
public static <T> T function(T data) {
T result;
if(data instanceof Integer) {
result = (T)"정수";
}else if(data instanceof Double || data instanceof Float) {
result = (T)"실수";
}else if(data instanceof Character) {
result = (T)"문자";
}else if(data instanceof String) {
result = (T)"문자열";
}else {
result = null;
}
return result;
}
}
|
cs |
3.Generic Interface
'Language > Java' 카테고리의 다른 글
[JAVA] 자바 리스트 앤 셋 ( Java List And Set ) (0) | 2020.06.23 |
---|---|
[JAVA] 자바 컬렉션 프레임워크(Collection Framework) (0) | 2020.06.18 |
[JAVA] 자바 빠른 for문(향상된 for문, for each문) (1) | 2020.06.16 |
[JAVA] 자바 래퍼 클래스 (Wrapper Class) (0) | 2020.06.16 |
[JAVA] 자바 오브젝트 클래스 (Object Class) (0) | 2020.06.16 |