JAVA
Java Type
by orioncsy
2023. 3. 26.
Java Type
Primitive Type
개념
- 원시 타입은 정수, 실수, 논리값 등 실제 데이터를 저장하는 타입
- JVM 스택 영역에 실제 데이터 값이 저장된다.
종류
- 총 8가지 타입이 존재
- boolean(1B 논리형), byte(1B 정수형), short(2B 정수형), char(2B 문자형 유니코드), int(4B 정수형), float(4B 실수형), double(8B 실수형), long(8B 정수형)
Reference Type
개념
- 원시 타입을 제외한 타입으로 객체의 주소를 저장
- 문자열, 클래스, 인터페이스, 열거형, 상수 등이 있다.
- 객체의 주소는 JVM 스택에 저장하고 실제 객체는 힙 영역에 저장
차이점
성능
- 원시 타입은 스택 영역에 있고 참조 타입은 참조 값이 스택에 있고 실제 값은 힙에 있다.
- 참조 타입은 두 번 이상의 메모리 접근이 필요하기 때문에 접근 속도가 상대적으로 느리다.
메모리
- 단순히 wrapper class로만 비교해도 원시 타입보다 참조 타입이 사용하는 메모리 양이 크다.
제너릭과 Null 사용
- 원시 타입은 제너릭 타입으로 사용 불가하지만 참조 타입은 가능
- 원시 타입은 null을 담을 수 없지만 참조 타입은 가능
Reference
https://steady-coding.tistory.com/606