→ 제네릭이란?
→ 참고
// 클래스 정의
class 클래스명<T> {
// 멤버 변수 선언
T v[];
// setter 메소드
public void setV(T...v){
this.v = v;
}
// getter 메소드
public T[] getV(){
return v;
}
}
참고로 멤버 변수와 메소드는 임의로 설정한 것 입니다. 자료형 지정을 위와 같은 형식으로 한다는 것을 의미하기 위한 코드입니다.
즉, 해당 블럭 { ... } 안에서 T 타입은 어디에 써도 상관이 없습니다.
class MyArray<T> {
T element;
void setElement(T element) {
this.element = element;
}
T getElement() {
return element;
}
}
public class Test {
public static void main(String[] args) {
MyArray<Integer> myArr1 = new MyArray<>();
myArr1.setElement(10);
System.out.println("myArr1.getElement() = " + myArr1.getElement());
// myArr1.getElement() = 10
MyArray<String> myArr2 = new MyArray<>();
myArr2.setElement("십");
System.out.println("myArr2.getElement() = " + myArr2.getElement());
// myArr2.getElement() = 십
}
}