출처

: https://www.baeldung.com/java-wrapper-classes

: http://jusungpark.tistory.com/17

: https://code.i-harness.com/ko-kr/q/20930e




1. 정의: 

wrapper classes are objects encapsulating primitive Java types.

기본형(primitive type)을 객체로 이용될 수 있게 기본형 데이터를 감싼 클래스이다.


2. 종류:

  • primitive type에는 boolean, byte, short, char, int, long, float, double 등 
  • non-primitive type이자, reference type인 wrapper class에는 Boolean, Byte, Short, Character, Integer, Long, Float, Double 등

Boolean, Character, Number는 Object class의 자식에 해당하고

모든 숫자와 관련된 wrapper 클래스(Byte. Short, Integer, Long, Float, Double, BigInteger, BigDecimal)들은 모두 Number class의 자식에 해당한다.


3. wrapper class를 사용하는 이유? 

자바 Collection 인터페이스는 객체만 취급하기 때문에 primitive type을 객체로 boxing(또는 wrapping)하여 사용해야 하는 경우가 있다.  

를 들어, 매개변수로 객체가 요구되는 경우, 기본형이 아닌 객체로 저장해야 하는 경우, 객체간의 비교가 필요한 경우 등에 wrapper class가 쓰인다.



4. Auto Boxing/Unboxing

자바 컴파일러는 기본형 데이터를 자동으로 객체로 변환하여 처리할 수 있는 Auto Boxing을 지원하며,

객체를 자동으로 기본형 데이터로 변환하여 처리할 수 있는 Auto Unboxing을 지원한다.


Object[] objs = new Object[100];
int a = 1;

//Auto Boxing
objs[0] = a;

//Auto Unboxing
int b = (Integer)objs[0];


'IT > Java' 카테고리의 다른 글

JAVA의 컴파일 과정, JVM 메모리 구조, JVM GC 개념  (0) 2018.12.28
상속(Inheritance) 개념  (0) 2018.11.11
== vs equals() 개념  (0) 2018.11.04
try-catch-finally 실행 순서  (0) 2018.10.25
e.printStackTrace()  (0) 2018.07.18

+ Recent posts