본문 바로가기
JAVA

java 래퍼클래스(Wrapper class)란?

by 자바비터 2022. 3. 24.

▶ 래퍼클래스(Wrapper class)란?

: 래퍼클래스(Wrapper class)란 자바의 기본 타입을 클래스화한 변수형 객체로써 변수를 객체처럼 활용하기 위해 사용된다.

  

  

▶ 래퍼클래스(Wrapper class)의 특징

변수가 객체가 되기 때문에 다양한 메소드를 활용할 수 있다.

- 매개변수로 객체가 요구될 때

- 기본형 값이 아닌 객체로 저장해야 할 때

- 객체간의 비교가 필요할 때

단점은 변수같지만 객체이기 때문에 저장된 데이터 활용을 위해 다시 자료형으로 되돌려야 한다.

이 때 자료형 변수를 래퍼클래스로 바꾸는 과정을 박싱(boxing), 랩퍼클래스 객체를 변수로 바꾸는 과정은 언박싱(unboxing)이라고 한다. 

  

  

 래퍼클래스(Wrapper class)의 박싱(boxing)과 언박싱(unboxing)

박싱(boxing) : 기본 타입의 값을 Wrapper 객체로 변환

언박싱(unboxing) : Wrapper 객체에 들어있는 기본 타입의 값을 빼내는 것

  

  

▶ 자동 박싱(boxing)과 자동 언박싱(unboxing)

Integer ten = 10; //자동 박싱. Integer ten = Integer.valueOf(10);으로 자동 처리

int n = ten; //자동 언박싱. int n = ten.intValue();로 자동 처리

   

  

 래퍼클래스(Wrapper class) 예시

- 기본 타입의 값으로 Wrapper 객체 생성

Integer i = Interger.valueOf(10);
Character c = Character.valueOf(‘c’);
Double f = Double.valueOf(3.14);
Boolean b = Boolean.valueOf(true);


- 문자열로 Wrapper 객체 생성
Interger I = Integer.valueOf(“10”);
double d = Double.valueOf(“3.14”);
Boolean b = Boolean.valueOf(“false”);


- Float 객체는 double 타입의 값으로 생성 가능
Float f = Float.valueOf((double) 3.14);

 

- Wrapper 객체로부터 기본 타입 값 알아내기
Integer i = Integer.valueOf(10);
int ii = i.intValue(); //ii=10


- 문자열을 기본 데이터 타입으로 변환
int i = Integer.parseInt(“123”); //i = 123
Boolean b = Boolean.parseBoolean(“true”); //b = true
double f = Double.parseDouble(“3.14”); // d = 3.14


- 기본 타입을 문자열로 변환
String s1 = Integer.toString(123); //정수 123을 문자열 “123"으로 변환
String s2 = Integer.toHexString(123); //정수 123을 16진수의 문자열 “7b”로 변환
String s3 = Double.toString(3.14); //실수 3.14를 문자열 “3.14” 로 변환
String s4 = Character.toString(‘a’); //문자 ‘a’를 문자열 “a”로 변환
String s5 = Boolean.toString(true); //불린 값 true를 문자열 “true”로 변환

  

  

 래퍼클래스(Wrapper class) 예제

public class Ex10 {
	public static void main(String[] args) {
		int n = 10;
		Integer intObject = n; //자동 박싱
		//박싱된 값에 수를 더해도 상관없다
		System.out.println("intObject = " + intObject);
		int m = intObject + 10; //박싱된 값을 받음 자동 언박싱
		System.out.println("m = " + m);
	}
}

실행 결과 화면

댓글