what?
기본 데이터타입 변수를 객체변수로 포장하는 클래스
why?
객체로 다루어지지 않는 기본 데이터타입을 객체로 다루기 위함
how?
1)모든 기본 데이터타입에는 각 래퍼 클래스가 있다.
ex)boolean-Boolean, Char-Character, byte-Byte...
2)인스턴스 생성
Integer i = new Integer(100);
Double d = new Double(3.14);
3)래퍼 클래스의 메서드를 활용하면 다른 데이터타입으로 변환하기 편함
(1)래퍼 클래스 -> 기본 데이터타입
데이터타입명+Value()
//Integer 클래스 인스턴스 생성
Integer i = new Integer(100);
//Integer 클래스 변수 int 변수로 변경
int a = i.intValue();
//Integer 클래스 변수 double 변수로 변경
double b = i.doubleValue();
(2)문자열->숫자
//문자열 100을 int형 100으로 전환
int a = Integer.parseInt("100");
//문자열 3.14를 double형 3.14로 전환
double b = Double.parseDouble("3.14");
(3)숫자->문자열
int number = 36;
String s = Integer.toString(number);
System.out.println(s+36);
//3636 출력
(4)문자열->Wrapper 클래스
Integer i = Integer.valueOf("100");
Float f = Float.valueOf("2.65");
4)immutable
Wrapper 클래스는 변하지 않는 성격을 가짐
-> 연산할 때마다 새로운 객체 생성
5)오토박싱/언박싱
오토박싱: 기본 데이터타입을 자동으로 객체자료형으로 변환
Integer i = 100;
//Integer i = new Integer(100);과 같음
언박싱: 객체자료형을 자동으로 기본 데이터타입으로 변환
integer i = new Integer(100);
int a = 3;
a = a + i;
//a = a + i.intValue(); 생략 가능
'Java' 카테고리의 다른 글
[Java] 기본 API 클래스⑧ Format (0) | 2024.04.06 |
---|---|
[Java] 기본 API 클래스⑦ Timer/TimerTask (0) | 2024.04.06 |
[Java] 기본 API 클래스⑤ BigDecimal 클래스 (0) | 2024.04.03 |
[Java] 기본 API 클래스③ Random (0) | 2024.04.03 |
[Java] 기본 API 클래스② currentTimeMilis, Calendar, Date (0) | 2024.04.03 |