기본형(Primitive Type)
-메모리에 데이터를 저장할 때 해당 값을 직접 저장하는 타입입니다.
-값 자체를 저장하기 때문에 메모리 사용이 적고 연산이 빠릅니다.
-비객체 타입이기 때문에 null을 가질 수 없습니다. 만약 null 값을 넣고 싶다면, *Wrapper Class를 활용해야 합니다.
-스택(stack) 메모리에 저장됩니다.
-1)정수 타입(byte, short, int, long), 2)실수 타입(float, double), 3)문자 타입(char), 4)논리 타입(boolean) 총 8개가 존재합니다.
-기본형 데이터 타입 이외의 모든 데이터 타입은 참조타입입니다.
참조형(Reference Type)
-객체를 참조하는 레퍼런스(reference)를 저장하는 데이터 타입입니다.
-객체를 참조하기 때문에 메모리 사용이 많고 연산이 느립니다.
-객체 자체를 참조하기 때문에, 객체의 상태를 변경할 수 있습니다.
-new 연산자를 통해 생성된 객체는 힙(heap) 메모리에 저장됩니다.
-힙 메모리에 저장된 객체를 가리키는 참조 변수는 스택 메모리에 생성됩니다.
-참조형 변수가 객체를 참조하지 않을 때는 null 값을 가지게 됩니다.
-대표적으로 String, Class, interface, Array, Null 등이 있습니다.
'java(자바)' 카테고리의 다른 글
[java(자바)] String, StringBuilder, StringBuffer의 차이 _디버깅의 눈물 (0) | 2023.03.28 |
---|---|
[java(자바)] Wrapper Class란? _디버깅의 눈물 (0) | 2023.03.27 |
[java(자바)] 객체 지향 프로그래밍 vs 절차 지향 프로그래밍 _디버깅의 눈물 (0) | 2023.03.25 |
[java(자바)] 객체 지향 프로그래밍 SOLID 원칙 _디버깅의 눈물 (0) | 2023.03.24 |
[java(자바)] 자바에서 다중 상속을 허용하지 않는 이유 _디버깅의 눈물 (0) | 2023.03.23 |