제네릭은 클래스 안에 들어갈 자료형을 선언 및 초기화시 정할 수 있는 것을 말한다.
package coffeeshop.test;
class Data1 {
// 오브젝트 자료형은 받기는 쉬우나 받은뒤 사용하려면 캐스팅 해야하기 때문에 불편
Object data;
}
// 제네릭
class Data <T> {
T value;
}
// 콤마를 통해서 두개를 넣을 수 있다
class Str<K, V>{
K k;
V v;
}
public class GenericEx01 {
public static void main(String[] args) {
Data1 data1 = new Data1();
data1.data = "오브젝트자료형";
System.out.println((String)data1.data);
Data<String> data = new Data<>();
data.value = "제네릭문자열";
System.out.println(data.value);
// 제네릭에는 기본자료형이 들어갈 수 없다 (Wrapper 클래스로 감싸야한다)
// Wrapper 클래스 = 기본자료형에 첫글자에 대문자(클래스자료형처럼) (기본자료형의 수만큼 있음)
// int -> Integer / char -> Character
Data<Integer> data2 = new Data<>();
data2.value = 10;
System.out.println(data2.value);
Str<String, String> s = new Str<>();
s.k = "비밀번호";
s.v = "bitc5500";
System.out.println(s.k);
System.out.println(s.v);
}
}
'Programming Language > Java' 카테고리의 다른 글
자바 커피숍 만들기 (0) | 2020.04.03 |
---|---|
자바 햄버거, 콤포지트 composite, composition (0) | 2020.04.03 |
200403 자바 객체지향, 배열, 링크드리스트, 어레이리스트 (0) | 2020.04.03 |
자바 composite, composition 콤포지트, 콤포지션, 생성자 오버로딩 (0) | 2020.04.03 |
오라클 SELF JOIN (0) | 2020.04.02 |