본문

[2017.10.19] 16. 왜 Wrapper 클래스를 사용할까?

결론적으로 wrapper 클래스는 사용하는 "기본 자료형을 클래스화하므로 클래스의 장점을 갖게 하기 위함" 이다.


구분

예시(Chocolate)

Wrapper 클래스

그림

목적

외부로부터 오염을 방지해 유통이 가능하도록 한다.

기본 자료형을 클래스화해 클래스로 사용하도록 한다.



Wrapper 클래스를 사용하는 이유 

외부 업체로부터 라이브러리(함수, 메소드 등의 모음)을 받아 개발을 하는 개발자라고 가정한다. 그래서 아래와 같은 메소드를 받았다.

1
2
3
public void printEverything (Object obj) {
    System.out.println(obj);
}
cs

하지만 인자의 자료형은 클래스인 Object이기 때문에 Wrapper 클래스 없이 기본 자료형으로는 위와 같은 메소드를 실행할 수 없다. 



그러나, 예제 코드를 작성해보면 위의 코드는 잘 실행될 것이다. 


위의 예제 코드가 가능한 이유는 자바 컴파일러는 기본 자료형이 클래스 형태로 필요하다면 Wrapper 클래스를 통해 자동으로 변환해 준다. 이러한 개념을 AutoBoxing이라고 하고 반대 개념을 Unboxing이라 한다.



AutoboxingUnboxing 개념

(출처 - https://www.w3resource.com/java-tutorial/java-wrapper-classes.php)



실습

1
2
3
4
5
6
7
8
// Autoboxing
// Integer value = new Integer(10);
Integer value = 10;
 
 
// Unboxing
// int tmp = value.intValue();
int tmp = value;
cs


cf) inputStream과 inputStreamReader 클래스 관계



#wrapper class #wrapper 클래스 #wrapper 사용 이유 #왜 wrapper


공유

댓글