LANGUAGE/JAVA
[JAVA] WRAPPER CLASS
진심스테이크
2018. 4. 15. 11:04
Wrapper (포장)
- 포장하고 있는 기본 타입 값은 외부에서 변경할 수 없음 -> 값을 바꾸고 싶다면 새로운 포장 객체를 만들어야 함
- 문자열을 기본 타입으로 변환할 떄에 주로 사용
-> 기본 형태
parse.기본타입 ex) num = Integer.parseInt("100");
기본 타입 |
포장 클래스 |
byte |
Byte |
char |
Character |
short |
Short |
int |
Integer |
long |
Long |
float |
Float |
double |
Double |
boolean |
Boolean |
Boxing
- 기본 타입의 값을 포장 객체로 만드는 과정
- 기본 형태
기본 타입명.valueOf( ) ex) Integer a = Integer.valueOf(100);
타입명 이름 = new 타입명(값); ex) Integer a = new Integer(100);
Unboxing
- 포장 객체에서 기본 타입의 값을 얻어내는 과정
- 기본 형태
기본 타입명.Value( ) ex) int x = a.intValue( );
public class BoxUnboxEx {
public static void main(String[] args) {
// Boxing
Integer a = new Integer(100); // Integer a = Integer.valueOf(100);
Character b = new Character('하'); // Character b = Character.valueOf('하');
// valueOf 사용시, new를 사용하지 않는다
Float c = Float.valueOf(2.5F); // Float c = new Float(2.5F);
// Unboxing
int a_value = a.intValue();
char b_value = b.charValue();
float c_value = c.floatValue();
// 출력
System.out.println(a_value); // 100
System.out.println(b_value); // 하
System.out.println(c_value); // 2.5
}
}
자동 Boxing
- Wrapper 클래스 타입에 기본값이 대입 될 경우
자동 Unboxing
- 기본 타입에 포장 객체가 대입 될 경우
public class AutoBoxUnBox {
public static void main(String[] args) {
// 자동 Boxing
Integer a = 100;
System.out.println("value : " + a.intValue()); //100
// 자동 Unboxing
// 대입
int b = a; // a를 b에 대입
System.out.println("value : " + b); //100
// 연산
int result = a + 200;
System.out.println("result : " + result); //300
}
}