본문 바로가기
JAVA/[JAVA] 바구니

[JAVA] Wrapper Class

by oncerun 2020. 5. 25.
반응형

 

포장 객체

무엇인가 감싼다는 이야기입니다. 

기본 타입( byte , char, short, int , long , float, double, boolean) 값을 포장하는 객체

기본 타입의 값은 외부에서 변경할 수 없다.

기본 타입  Wrapper Class
byte Byte
char Charcter
short Short
int Integer
long Long
float Float
double Double
boolean Boolean

 

외우기는 쉽습니다. int, char를 제외만 나머지의 Wrapper Class는 앞글자만 대문자입니다.

 

Boxing과 Unboxing

Boxing 기본 타입의 값을 포장 객체로 만드는 과정

Unboxing 포장 객체에서 기본 타입의 값을 얻어내는 과정

 

Boxing Code

 

*생성자를 이용

기본 타입의 값을 줄 경우  문자열을 줄 경우
Byte obj = new Byte(10); Byte obj = new Byte("10");
Char obj = new Character('아');  
Short obj = new Short(100); Short obj = new Short("100");
Integer obj = new Integer(100); Integer obj = new Integer("100");
Long obj = new Long(1000); Long obj = new Long("1000");
Float obj = new Float(2.5F); Float obj = new Float("2.5F");
Double obj = new Double(3.5); Double obj = new Double("3.5");
Boolean obj = new Boolean(true); Boolean obj = new Boolean("true");

(Charcter은 문자열로 표현할 수 없습니다.)

 

*valueOf() 메소드 이용

Integer object = Integer.valueOf(100);
Integer object = Integer.valueOf("100");

 

 

Unboxing Code

기본 타입의 값을 사용
byte byte = object.byteValue();
char ch =object.charValue();
short short =object.shortValue();
int int =object.intValue();
long long =object.longValue();
float float =object.floatValue();
double double =object.doubleValue();
boolean bool = object.booleanValue();

 

 

 

 

자동 박싱과 언박싱

 

자동 박싱은 포장 클래스 타입에 기본값이 대입될 경우에 발생

Integer obj = 100; //자동 박싱
List<Integer> list = new ArraryList<Integer>();
list.add(200) //자동 박싱

자동 언박싱은 기본 타입에 포장 객체가 대입될 경우에 발생

Integer object = new Integer(100);
int value1 = object; //자동 언박싱

 

 

 

example1) 박싱과 언박싱

		//Boxing
		Integer obj1 = new Integer(100);
		Integer obj2 = new Integer("100");
		Integer obj3 = Integer.valueOf(100);
		Integer obj4 = Integer.valueOf("100");
		
		
		//UnBoxing
		int obj5 = obj1.intValue();
		int obj6 = obj2.intValue();
		int obj7 = obj3.intValue();
		int obj8 = obj4.intValue();

 

example2) 자동 박싱과 언박싱

 

 

 

문자열을 기본 타입 값으로 변환

기본 타입의 값을 사용
byte byte = Byte.parseByte("10");
short short =Short.parseShort("100");
int int =Integer.parseInt("10");
long long=Long.parseLong("100");
float float=Float.parseFloat("3.5F");
double double=Double.parseDouble("3.5");
boolean bool = Boolean.parseBoolean("true");

 

포장값 비교

 

포장 객체는 내부의 값을 비교하기 포장 객체로 == 과!= 연산자를 할 수 없습니다.

 

예외 : 다음 값이라면 포장객체로 == 과!= 연산자로 내부의 값을 비교할 수 있습니다.

타입 값의 범위
boolean true, false
char \u0000 ~ ]w007f
byte, short, int -128 ~127

값을 언박싱해서 비교하거나, equals() 메서드로 내부 값을 비교하는 것이 바람직합니다.

값의 범위를 벗어나게되면 값의 주소 값을 비교하므로 주의해야 합니다.

 

 

반응형

'JAVA > [JAVA] 바구니' 카테고리의 다른 글

[JAVA] RuntimeException  (0) 2020.06.06
[JAVA] Exception  (0) 2020.06.06
[JAVA] StringBuffer , StringBuilder  (0) 2020.05.21
[JAVA] Enumeration Type  (0) 2020.05.13
[JAVA] String Class(2)  (0) 2020.05.12

댓글