컬렉션 프레임워크

이상민·2023년 9월 6일
0

Java 기초문법

목록 보기
7/7

📘제네릭 타입

        Box box = new Box();
        box.setObj(new Object());
        Object obj = box.getObj();

        box.setObj("hello");
        String str =(String)box.getObj();
        System.out.println(str);

        box.setObj(1);
        int value = (int)box.getObj();
        System.out.println(value);

제네릭 타입 안쓸때

Object 타입의 클래스 접근시, get메서드로 가져올때 object로 가져오기 때문에 항상 사용시에는 용도에 맞게 형변환해서 사용해야 했다.

public class Box<E> {
    private E obj;

    public E getObj() {
        return obj;
    }

    public void setObj(E obj) {
        this.obj = obj;
    }
}
        Box<Object> box1 = new Box<>();
        box.setObj(new Object());
        Object obj1 = box.getObj();

        Box<String> box2 = new Box<>();
        box2.setObj("hello");
        String str1 = box2.getObj();

        Box<Integer> box3 = new Box<>();
        box3.setObj(4);
        int v2 = box3.getObj();

제네릭 타입 사용시

가상의 element를 저장하는 제네릭 타입을 사용하여 Box클래스를 정의하였다.

객체 생성시, 자료형을 포함해서 생성함으로써, 따로 형변환을 할 필요없이 유연하게 사용할 수 있게 되었다.

  • Integer는 오토 언박싱을 통해 자동으로 int형으로 변환된다.
profile
개린이

0개의 댓글