Java primitive type, wrapper class and autoboxing

Programming Language/Java

※ Java Primitive Type, Wrapper Class and Auto-Boxing

▶ primitive type 이란?

JAVA에서 사용되는 8가지 기초자료형을 말한다. 

method의 parameter 전달시 기초 자료형은 값 참조(call by value)로 이루어진다.

8가지 기초자료형는 다음과 같다.


 Variable Type

 Default Value

 단위(bits)

 boolean false

 1

 byte

 (byte)0

 8(=1byte)

 short

 (short)0

 16(=2byte)

 char

 '\u0000'

 16(=2byte)

 int

 0

 32(=4byte)

 float 0.0f 32(=4byte)

 long

 0L

 64(=8byte)

 double

 0.0d

 64(=8byte)

* Class Variable 내에서는 Boolean Type은 Primitive Type이 아니며, 내부적으로 int 로 변경되며, Boolean의 Default가 False이면 int 값 0으로 인식된다.



▶ Wrapper Class 이란?

primitive type를 객체로 사용하기 위한 개념이다.

8가지 primitive type와 대응되는 wrapper class은 다음과 같다.

Variable Type

  wrapper class

 boolean

 Boolean

 byte

 Byte

 short

 Short

 char

 Charater

 int

 Integer

 float

 Float

 long

 Long

 double

 Double

ex1)

Integer obj = new Integer(1);


▶ Auto-Boxing 이란?

위 예제와 같이 선언된 obj에 wrapper class를 이용해서 인스턴스화 하지 않아도 자동으로 형변환해주는 것을 말한다.

ex2)

Integer obj = 1; 


Auto-Unboxing은 반대로 primitive type에 wrapper class의 기본자료형변환 처리하는 메소드를 이용하지 않고 대입해도

자동으로 primitive type으로 형변환해주는 것을 말한다.

ex3)

int obj2 = new Integer(2);



▶ 출처 및 참조

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

java performance fundamental 저자.김한도 p236