E를 만들어서 사용할때마다 다꾼다.1. com/example/basic/Exam1.java
public class 클래스명<임의의타입> { }public class Exam1<E> { }private E name = null;public E getData() { return this.name; }public void setData(E na) { this.name = na; }package com.example.basic;
// 제너릭
public class Exam1<E> {
    private int num = 0; // 숫자형
    private E name = null; // 타입이 없음 => 사용되는곳에서 타입을 정할것임
    // name을 변경하기
    public void setData(E na) {
        this.name = na;
    }
    // name값 가져가기
    public E getData() {
        return this.name;
    }
}2. App.java
가져오면서 타입 정의
: Exam1<Integer> obj = new Exam1<Integer>();
= E의 타입을 Integer(숫자)로 정의함.
= 변수명은 obj
obj의 값을 바꿈
: obj.setData(13);
프린트
: System.out.println(obj.getData());
public class App {
    public static void main(String[] args) {
        // 클래스 객체명 = new 클래스();
        // Integer, String, Float 등
        Exam1<Integer> obj = new Exam1<Integer>();
        obj.setData(13);
        System.out.println(obj.getData());
    }
}