Programming Language/Java
자바 제네릭, Wrapper
Jaybon
2020. 4. 3. 14:24
제네릭은 클래스 안에 들어갈 자료형을 선언 및 초기화시 정할 수 있는 것을 말한다.
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);
}
}