제네릭이란?

< T > Generic 클래스

참고

< T > Generic 클래스 구현 형식

// 클래스 정의
class 클래스명<T> {

		// 멤버 변수 선언
    T v[];

		// setter 메소드
		public void setV(T...v){
        this.v = v;
    }

		// getter 메소드
		public T[] getV(){
        return v;
    }
}

참고로 멤버 변수와 메소드는 임의로 설정한 것 입니다. 자료형 지정을 위와 같은 형식으로 한다는 것을 의미하기 위한 코드입니다.

즉, 해당 블럭 { ... } 안에서 T 타입은 어디에 써도 상관이 없습니다.

예제 1

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() = 십
    }
}