본문 바로가기
java

래퍼 클래스(Wrapper class)

by 신방동불주먹 2022. 10. 11.

<  Wrapper 클래스  >

 

- 기본타입의 데이터를 객체로 취급해야 하는 경우 8개의 기본타입에 해당하는 데이터를 객체로 포장해주는 클래스

- java.lang 패키지에 포함되어 제공

기본 타입  래퍼 클래스
 byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

- Integer 클래스와 Character 클래스만 기본타입과 이름이 다름

 

 

 

<  박싱 (Boxing)  >

 

- 기본 타입의 데이터를 래퍼 클래스의 인스턴스로 변환

int i = 10;
Integer intg = (Integer)i;
Integer intg = new Integer(i);

 

- 오토박싱(AutoBoxing)

: 박싱이 필요한 상황에서 자바 컴파일러가 자동으로 처리

int i = 10;
Integer intg = i;

 

<  언박싱 (UnBoxing)  >

 

- 래퍼 클래스의 인스턴스 값을 다시 기본 타입의 데이터로 변환

Integer 클래스 : intValue() 

Character 클래스 : charValue() 메소드가 포함되어 있다

int intg2 = intg.intValue();

 

- 오토언박싱(AutoUnBoxing)

: 언박싱이 필요한 상황에서 자바 컴파일러가 자동으로 처리

Integer intg2 = new Integer(10);
int i2 = intg2;
System.out.println(intg + i2);

- Object 기본형은 박싱이 가능하지만 언박싱이 불가능하다

Object obj = (Object)i; //박싱
int i3 = obj; //언박싱 오류 발생

 

예) "a50"일 때 a와 처리할 수 없어 numberformatexception 예외가 발생한다

     -> 문자열을 숫자 (String -> int) 로 바꿔주는 클래스 : Integer.parseInt 사용

String str = "50";
int i4 = Integer.parseInt(str);
System.out.println(i4);




 

'java' 카테고리의 다른 글

제네릭과 컬렉션  (0) 2022.10.11
Collection(List)  (0) 2022.10.11
Calendar 클래스  (0) 2022.10.11
String class  (0) 2022.10.07
UML(Unified Modeling Language)  (0) 2022.10.06