School Study

[업무일지]-20100825

룸훼훼 2010. 8. 25. 17:18
반응형

JAVA-

wrapper 클래스

기본자료형들을 객체처럼 사용할수 있도록 도와주는 wrapper클래스가 있다.

 Wrapper 클래스란?

기본 데이터형을 값이 아닌 객체로 사용할 수 있는 방법을 제공.

Primitive Data Type
Wrapper Class
boolean
Boolean
byte
Byte
char
Character
short
Short
int
Integer
long
Long
float
Float
double
Double

다음 그림을 보자.

< Wrapper 클래스와 기타 클래스의 클래스 계층도>

보면 Boolean클래스와 Character클래스는 Object 클래스의 하위 클래스이나 나머지는 Number 크래스의 하위클래스이다.

2> Wrapper 클래스 제공 메서드

Wrapper 클래스가 제공하는 메서드는 대부분이 객체를 원하는 기본 데이터형으로 바꾸어 준다. 또는 반대로 기본데이터를 객체로 만들어준다. 그 중 주로 사용하는 메서드를 본다.

String toString()
Wrapper 클래스 객체가 가지고 있는 숫자 값을 String형 값으로 바꾸어 준다.
byte byteValue()
Wrapper 클래스 객체가 가지고 있는 숫자 값을 byte 형 값으로 바꾸어 준다.
short shortValue()
Wrapper 클래스 객체가 가지고 있는 숫자 값을 short 형 값으로 바꾸어 준다.
int intValue()
Wrapper 클래스 객체가 가지고 있는 숫자 값을 int 형 값으로 바꾸어 준다.
long longValue()
Wrapper 클래스 객체가 가지고 있는 숫자 값을 long 형 값으로 바꾸어 준다.
float floatValue()
Wrapper 클래스 객체가 가지고 있는 숫자 값을 float 형 값으로 바꾸어 준다.
double doubleValue()
Wrapper 클래스 객체가 가지고 있는 숫자 값을 double 형 값으로 바꾸어 준다.

3> Wrapper 클래스 예

1. ShowWrap


1 : public class ShowWrap
2 : {
3 : public static void main(String args[])
4 : {
5 : boolean bi = true;
6 : Boolean wrapBi = new Boolean(bi);
7 :
8 : int n = 300;
9 : Integer wrapN = new Integer(n);
10 :
11 : float f = (float)300.3;
12 : Float wrapF = new Float(f);
13 :
// Boolean 클래스 객체를 문자열로 바꾼다,
14 : System.out.println("Wrapper 클래스의 값은 " + wrapBi.toString());
// Integer 클래스 객체를 int형으로 바꾼다.
15 : System.out.println("Wrapper 클래스의 값은 " + wrapN.intValue());
// Float 클래스 객체를 float형으로 바꾼다.
16 : System.out.println("Wrapper 클래스의 값은 " + wrapF.floatValue());
17 : }
18 : }


<< 실행 결과 >>

Wrapper 클래스의 값은 true
Wrapper 클래스의 값은 300
Wrapper 클래스의 값은 300.3


박싱과 언박싱~!
기본자료타입변수를 wrapper클래스의 생성자의 매개변수로 주어 객체를 생성하면 이과정에서 스택에 있던 값이 힙에 저장되는데 이를 박싱이라한다.
언박싱은 반대라고 생각하면된다. 박싱되어 힙에 저장되어있는 값을 스택으로 풀어 저장하는 형태이다.
반응형