Primitive type(기본형 타입) :
총 8가지
기본값이 있기 때문에 Null이 존재하지 않는다.
기본형 타입에 Null을 넣고 싶다면 래퍼 클래스를 이용함.
스택(Stack) 메모리에 값을 저장.
컴파일 시점에 지정된 한계의 데이터 크기를 넘으면
컴파일 에러가 발생
boolean : 논리형 , 메모리 크기는 1byte,
기본값은 false, 값의 범위는 true, false
byte : 정수형, 메모리 크기는 1byte,
기본값은 0, 값의 범위는 -128 ~ 127
short : 정수형, 메모리 크기는 2 byte,
기본값은 0, 값의 범위는 -32,768 ~ 32,767
int : 정수형(기본), 메모리 크기는 4 byte,
기본값은 0, 값의 범위는 -2,147,483,648
~ 2,147,483,647
long : 정수형, 메모리 크기는 8 byte,
기본값은 0L, 값의 범위는 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
float : 실수형, 메모리 크기는 4 byte,
기본값은 0.0F, 값의 범위는 (3.4 X 10-38)
~ (3.4 X 1038) 의 근사값
double : 실수형(기본), 메모리 크기는 8 byte,
기본값은 0.0 , 값의 범위는 (1.7 X 10-308)
~ (1.7 X 10308) 의 근사값
char : 문자형, 메모리 크기는 2 byte,
기본값은 '\u0000' , 값의 범위는 0 ~ 65,535
Reference type(참조형 타입) :
기본형 타입 이외의 타입은 모두 참조형 타입
빈 객체를 의미하는 Null이 존재
힙(Heap) 메모리에 값이 저장되는 주소값을 저장한다.
문법상 에러가 없어도, 실행시 런타임 에러가 발생함.
예를 들어, 객체나 배열에 null값을 넣었을 경우,
NullPointException이 발생하므로 변수값을 넣어야 한다.
배열(Array) : int[] arr = new int[10]; ,
기본값은 Null,
할당 메모리 크기는 4 byte (객체의 주소값)
열거(Enumeration) : 기본값은 Null,
할당 메모리 크기는 4 byte (객체의 주소값)
클래스(Class) : String str = "abced"; ,
Wework aim = new Wework(); ,
기본값은 Null,
할당 메모리 크기는 4 byte (객체의 주소값)
인터페이스(Interface) : 기본값은 Null,
할당 메모리 크기는 4 byte (객체의 주소값)