Wrapper 클래스

Jimin·2022년 8월 11일
0

JAVA

목록 보기
7/30

Wrapper 클래스 개념

  • 사실 이름이 Wrapper인 클래스는 존재하지 않는다.
  • 다만 8개의 기본 타입을 객체로 다루기 위해 밑의 표와 같은 8개의 클래스를 통칭하여 Wrapper 클래스라고 한다.
  • 기본 타입과 Wrapper 클래스
기본 타입byteshortintlongcharfloatdoubleboolean
Wrapper 클래스ByteShortIntegerLongCharacterFloatDoubleBoolean

Wrapper 클래스의 객체 생성

Integer i = Integer.valueOf(10);
Character c = Character.valueOf('c');
Boolean b = Boolean.valueOf(true);

박싱(boxing)과 언박싱(unboxing)

  • 언박싱: 기본 타입 값 → Wrapper 객체로 변환
  • 박싱: Wrapper → 기보 타입 값
Integer ten = Integer.valueOf(10); // 박싱
int n = ten.intValue(); // 언박싱
  • 자동 박싱과 자동 언박싱
Integer ten = 10; // 자동 박싱 == Integer.valueOf(10);
int n = ten; // 자동 언박싱 == ten.intValue();

사용하는 이유

  1. 기본 데이터 타입을 Object로 변환할 수 있다.
  2. java.util 패키지의 클래스는 객체만 처리하므로 Wrapper class는 이 경우에도 도움이 된다.
  3. ArrayList 등과 같은 Collection Framework의 데이터 구조는 기본 타입이 아닌 객체만 저장하게 되고, Wrapper class를 사용하여 자동박싱/언박싱이 일어난다.
  4. 멀티스레딩에서 동기화를 지원하려면 객체가 필요하다.
profile
https://github.com/Dingadung

0개의 댓글