본문 바로가기

출퇴근 끄적끄적

Wrapper Class & Auto Boxing / UnBoxing

Object [] arr = new Object[5];

이렇게 Object 클래스의 배열을 선언하면 우리는 arr에 어떤 객체든 담을 수 있다.

그런데  primitive 타입인  int, double은 객체가 아니기 때문에 담을수 없다 그렇다면

어떻게 해야 담을 수있을 까?   primitive 타입을 맴버변수로 가진 객체를 만들면 된다.

그래서 Integer, Double(자바에서 제공해줌 ) 같은 클래스를 생성하면서 생성자에 값을

전달하면 우리는 arr에  primitive타입을 넣을 수 있게된다.

 

public class WrapperEx {

    public static void main(String[] args) {

        Integer num = new Integer(17); // 박싱

        int n = num.intValue(); //언박싱

        System.out.println(n);

    }

}

이런 클래스들을 Wapper Class 라고 말한다.

 

위 WrapperEx 클래스의 Main 메서드를 보면 박싱과 언박싱이 있다 

Boxing : 객체로 감싸는작업 

UnBoxing : 객체에서 값을 꺼낸다

이렇게 생각하면된다 그리고 항상 같은 작업일게 뻔히보이기때문에

컴파일시 알아서 박싱과 언박싱을 해주는게  AutoBsing 과 AutoUnBoxing이다 

 

코드예제는 아래블로그에 잘 작성돼있음 ! 참고! 

https://coding-factory.tistory.com/547

 

[Java] 래퍼 클래스(Wrapper Class)란 무엇인가? (박싱, 언박싱)

 래퍼 클래스란(Wrapper Class)? 자바의 자료형은 크게 기본 타입(primitive type)과 참조 타입(reference type)으로 나누어집니다. 대표적으로 기본 타입은 char, int, float, double, boolean 등이 있고 참조..

coding-factory.tistory.com