본문 바로가기
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

'JAVA' 카테고리의 다른 글

Stream  (0) 2023.03.30
Annotation  (0) 2023.03.28
Mutable & Immutable  (0) 2023.03.25
Concurrency Issue  (0) 2023.03.24
Throwable  (0) 2023.03.23