개발/자바

Java - wrapper class (Integer,Float 등등)

웅'jk 2023. 1. 25. 10:51

자바에서 기본타입인 int,char,float,byte 등등을 객체로 취급하기 위해 포장해주는 클래스를 

wrapper(래퍼) 클래스 라고 합니다.

 

기본형 wrapper class
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

 

생성하는 방법은 다음과 같습니다.

 

# 기본형 int
int num = 5;

# wrapper class Integer
Integer num2 = 5;

기본 변수 생성방식과 동일하게 생성합니다.

 

이 래퍼클래스는 포장(boxing ) , 해체(unboxing) 과정을 통해

래퍼클래스를 기본형으로 (unboxing) , 기본형을 래퍼클래스로 (boxing) 할 수 있습니다.

 

1. boxing

int test = 10;
# 자바에서 자동으로 해주기 때문에 new Integer 생략가능
#Integer test2 = new Integer(test);
Integer test2 = test;
System.out.println(test2);

 

2. unboxing

int test3 = test2.intValue();

 

래퍼 클래스를 이용하면 같은 정수형 뿐만 아니라 문자열을 정수형으로 바꾸는 것도 가능하다.

String str = "317";
System.out.println(str + 100); #출력 : 317100
System.out.println(Integer.valueOf(str4).intValue()+100); #출력 417

위 코드 처럼 Integer class의 valueOf()메소드의 문자열로 파라미터를 전달한뒤 intValue 함수로 int형 리턴을 받으면 된다.

 

반대로 정수형을 문자열로 바꿀 수 있다.

int k = 365;
String data = String.valueOf(k); # String.valueOf 을 이용
data = Integer.toString(k); # Integer 의 toString 이용