Daily coding
Java Basic : day 10 - 제네릭 Generic 본문
Generic
- C++ : template 템플릿과 같음
- 자료형의 변수
- 목적 : 클래스의 멤버변수를 하나의 자료형이 아닌 여러 자료형으로 만들기 위해서 사용한다
- template 자리에는 반드시 클래스만 넣을 수 있고, 기본 자료형은 래퍼클래스를 입력해야한다.
Box<Integer> a = new Box<Integer>(32);
Box<String> b = new Box<String>("String");
Box c = new Box('c');
System.out.println("자료형 1개 : "+a.getTemp());
System.out.println("자료형 1개 : "+b.getTemp());
System.out.println("자료형 1개 : "+c.getTemp());
BoxMap <Integer, String> boxMap1 = new BoxMap <Integer, String> (30, "Sting");
BoxMap boxMap2 = new BoxMap(40, "Sting2");
System.out.println("자료형 2개 : "+boxMap1.getKey()+" " + boxMap1.getValue());
System.out.println("자료형 2개 : "+boxMap2.getKey()+" " + boxMap2.getValue());
}
}
// 제네릭 <> 1개
class Box{
T temp;
// T에는 자료형을 클래스명으로 입력해야한다.
public Box(T temp) {
this.temp = temp;
}
//getter
public T getTemp() {
return temp;
}
//setter
public void setTemp(T temp) {
this.temp = temp;
}
}
//제네릭 자료형 2개
class BoxMap<T,U> {
T key;
U value;
public BoxMap(T key, U value) {
this.key = key;
this.value = value;
}
public T getKey() {
return key;
}
public void setKey(T key) {
this.key = key;
}
public U getValue() {
return value;
}
public void setValue(U value) {
this.value = value;
}
}
'Language > Java_basic' 카테고리의 다른 글
Java Basic : day 10 - Example01: 회원관리 ArrayList로 작성 (0) | 2019.11.29 |
---|---|
Java Basic : day 10 - Collections Framwork : List - ArrayList (0) | 2019.11.29 |
Java Basic : day 9 - Example : 회원관리DAO (회원정보 입출력 / 파일저장,읽기) (0) | 2019.11.29 |
Java Basic : day 9 - Final (0) | 2019.11.29 |
Java Basic : day 9 - Inheritance 상속 4 : 예시 (0) | 2019.11.29 |