[Java] Primitive type vs Reference type
Primitive type vs Reference type
Primitive type
Java에는 타입을 크게 두가지로 나눌 수 있습니다. 그 중에 딱 8가지 타입(int, char, boolean, byte, long, short, float, double)이 속하는 primitive타입은 직접 값을 저장합니다.
stack영역에 저장되고 참조형이 아니기때문에 null을 넣을 수 없습니다. null을 넣고싶다면 wrapper class로 만들어줘야합니다.
Reference type
Java에서 위에 8가지 primitive type을 제외한 모든 타입(사용자 정의 클래스, array, interfeace...)이 reference type에 속합니다. 실제 값은 heap영역에 저장되며 그 주소가 stack영역에 변수에 저장됩니다. 즉 변수자체에는 값이 아니라 주소가 저장됩니다.
따라서 ==연산(변수의 값비교)을 할 경우 같은 값이라고 true가 나오는게 아니어서 equals()를 이용해야합니다.
예제
int num = 3; // primitive type
List<Integer> arr = new ArrayList<>(Arrays.asList(2,3,4)); // reference type
Author And Source
이 문제에 관하여([Java] Primitive type vs Reference type), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@rmswjdtn/Java-Primitive-type-vs-Reference-type저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)