java 에는 여러 타입들이 존재한다. int, String, boolean 등등,,, 하지만 이런 다른 타입들을 하나하나 구현하다보면 메서드 내용은 같은데 타입때문에 같은코드를 중복해서 오버로딩 해야하나 생각이 들것이다.
이러한 고민을 해결해주는것이 제네릭 이다.
Main 클래스
class Main {
public static void main(String[] args) {
저장소<Integer> a저장소1 = new 저장소<>();
a저장소1.setData(50);
int a = a저장소1.getData();
저장소 클래스
class 저장소<T> {
Object data;
T getData() {
return (T)data;
}
void setData(T inputedData) {
this.data = inputedData;
}
}
사용법은 위와 같다 저장소클래스 옆에 “ <아무거나> “ 아무거나는 대문자 알파벳이라면 아무거나 들어가도 상관없다. 하지만 클래스 옆, 반환, 매개변수 타입 등 원하는 리턴값이 있는곳에는 다 사용해야한다.
Main 클래스 에서 보면 리모컨 옆에 <> 로 안에 원하는 타입을 적어주고 new 객체 옆에 <> 를 사용해주면 된다.