1. 제네릭 Generic <T>
- 자바의 <>안에 들어가는 자료형에 대한 기능.
- List<String> strli = new ArrayList<>();
- List<Object> obli = new ArrayList<>();에서 li의 기능은 같지만 담는 내용물은 다름.
- 클래스를 지정할 때 제네릭 <T>를 지정하면, 객체를 생성할 때 타입을 지정할 수 있다.
public class GenericEx1 {
T ob;
public T getOb() {
return ob;
}
public void setOb(T ob) {
this.ob = ob;
}
public static void main(String[] args) {
GenericEx1 m = new GenericEx1<>();
m.setOb("홍길동");
System.out.println("값 : " + m.getOb());
GenericEx1 i = new GenericEx1<>();
i.setOb(123);
System.out.println("값 : " + i.getOb());
}
}
2. 제네릭 <?>
- <T>로 지정된 제네릭은 객체가 만들어 질 때 자료형을 결정.
- 객체를 구현할 떄 <?>로 지정하면 들어오는 값에 따라 자동으로 자료형이 결정됨.
public class GenericEx2 {
T ob;
public GenericEx2(T ob) {
this.ob = ob;
}
public T getOb() {
return ob;
}
public void setOb(T ob) {
this.ob = ob;
}
public static void main(String[] args) {
GenericEx2<?> m = new GenericEx2("호랑이");
System.out.println("동물명 : " + m.getOb());
//m.getOb("기린"); //<?>는 생성자를 통해서만 값이 들어옴
m = new GenericEx2(123);
System.out.println("값 : " + m.getOb());
}
}
'Java' 카테고리의 다른 글
Arrays.asList() (0) | 2020.12.06 |
---|---|
Google Java Style Guide(번역) (0) | 2020.11.28 |
Java 접근지정자 (0) | 2020.11.08 |
JAVA) collection - Map (0) | 2020.03.24 |
JAVA) 랜덤함수 (1) | 2020.03.24 |