반응형

*래퍼 클래스 (wrapper class)

- 프로그램에 따라 기본 타입의 데이터를 객체로 취급해야 하는 경우가 존재한다.

- 메소드의 인수로 객체 타입만 요구되는 경우 기본 타입의 데이터를 그대로 사용하는데 무리가 있는데, 이때 먼저 기본 타입의 데이터를 객체로 변환 후 작업을 수행 해야 한다.

- 래퍼 클래스는 기본 타입에 해당하는 데이터를 객체로 포장해 주는 클래스로 java.lang 패키지에 포함되어 제공된다.

- 래퍼 클래스는 각 타입에 해당하는 데이터를 인수로 전달받아 해당 값을 가지는 객체로 만들어 준다.

기본 타입 래퍼 클래스
byte Byte 
short  Short 
int  Integer 
long  Long 
float  Float 
double  Double 
char  Character 
boolean  Boolean

 

*오토 박싱 / 오토 언박싱

- 오토 박싱이란 컴파일러에 의해 기본 타입이 자동으로 래퍼 클래스로 변환되는 것을 의미한다.

public class WrapperExam {
    public static void main(String[] args) {
        int i = 5; 
        Integer i2 = new Integer(5);
        Integer i3 = 5;                      //오토박싱
        int i4 = i2;                         //오토언박싱
        long i2_long = i2.longValue();
        long i4_long = i4.longValue();       // 오류 발생!
    }
}

integer타입과 int타입의 오토박싱, 오토언박싱의 경우에도 Wrapper클래스가 사용된다.
i2는 Integer형이므로 longValue()메소드를 사용할 수 있으나
i4는 int형이므로 메소드를 사용하면 오류가 발생한다.
반응형

+ Recent posts