< 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 |