본문 바로가기

Study/JAVA

[JAVA] Wrapper Class

자바에는 기본 자료형(Primitive data type)이 있는데 그에 대한 클래스 표현인 Wrapper Class가 존재한다.

  • 기본 타입 : int, long, float, double, boolean ...

  • 래퍼 클래스 : Integer, Long, Float, Double, Boolean ...

박싱과 언박싱

  • 박싱 : 기본 데이터 타입에 대응하는 wrapper클래스로 만드는 동작

    int i = 10;
    Integer num = new Integer(i);     // Boxing
  • 언박싱 : Wrapper 클래스에서 기본 타입으로 변환

    Integer num = new Integer(10);
    int i = num.intValue();            //unBoxing
오토 박싱

편의성을 위해 오토 박싱과 오토 언박싱이 제공된다. (JDK 1.5 이상)

int i = 10;
Integer num = i; // Auto Boxing

Integer num = new Integer(10);
int i = num;         // Auto unBoxing

하지만 이러한 오토 캐스팅은 100만건 기준 약 5배의 성능차이가 나므로 불필요한 오토 캐스팅이 일어나는지 확인하는 습관을 가져야 한다.

ArrayList<Integer> lists = new ArrayList<>();
int i = 10;
lists.add(i);

Integer i = new Integer(10);
lists.add(i);

'Study > JAVA' 카테고리의 다른 글

[JAVA] Serialization  (0) 2022.06.16
[JAVA] Call by Value & Call by Reference  (2) 2021.12.31