Primitive type VS Reference Type

h_hi·2021년 2월 25일
0

java

목록 보기
1/3

Primitive type(기본형)

실제 값을 저장합니다. 스택(Stack) 에 값이 저장됩니다.
java 에서 8가지의 종류(아래 이미지) 를 미리 정의하여 제공합니다.
비객체타입으로 NULL 값을 가질 수 없지만, Wrapper Class 를 이용하면 가질 수 있습니다.

Reference type(참조형)

객체에 값을 넣은 다음 주소값을 저장합니다. 객체의 주소값을 힙(Heap) 에 저장합니다.
참조형은 java.lang.Object 를 상속받습니다. 기본형 타입을 제외한 모든 타입을 일컫습니다. Class type, Array type, Interface type 이 있습니다.

Wrapper Class

primitive type 을 객체로 다루기 위해 사용합니다.

Boxing, UnBoxing

  • UnBoxing : Wrapper Class -> Primitive Type
Integer wrapper_age = new Integer(30);
int primitive_age= wrapper_age.intValue();
  • Boxing : Primitive Type -> Wrapper Class
int primitive_age = 30;
Integer wrapper_age = new Integer(primitive_age);

Integer.valueOf 와 Integer.parseInt 의 차이점

  • valueOf : wrapper 객체를 리턴
  • parseInt : primitive type 을 리턴

Primitive Type VS Reference Type

값만 heap 에 저장되는 primitive type 은 reference type 보다 접근 속도도 빠르며 저장공간도 적게 차지합니다. NULL 값을 가져야 하거나 Generic 타입에 사용되어야 한다면 객체로써 사용되어야 하기때문에 reference type 을 사용합니다.

profile
안드로이드, flutter 개발자

0개의 댓글