티스토리 뷰

Language/Java

[Java] 기본형과 참조형

DUCKBAE's 2022. 6. 9. 01:05

기본형 (Primitive type)

실제 값(data)을 저장한다.

 

특징

  • 기본 값이 있기 때문에 절대 NULL 이 될 수 없다.
  • Stack Memory에 생성된다.
  • 변수가 복사되면 변수의 다른 복사본이 생성되고, 복사된 변수에 대한 변경은 원래 변수에 변경 사항을 반영하지 않는다.

 

종류

  • 논리형 (boolean)
  • 문자형 (char)
  • 정수형 (byte, short, int, long)
  • 실수형 (float, double)

 

기본 값

type default bit note
byte 0 8 부호를 가진 8비트 정수
short 0 16 부호를 가진 16비트 정수
int 0 32 부호를 가진 32비트 정수
long 0L 64 부호를 가진 64비트 정수
float 0.0f 32 부호를 가진 32비트 부동 소수점
double 0.0d 64 부호를 가진 64비트 부동 소수점
char '\u0000' 16 16비트 유니코드 문자 데이터
boolean false 8 참/거짓 값

 

참조형 (Reference type)

어떠한 값이 저장되어 있는 주소(memory address)를 값으로 갖는다.

 

특징

  • 객체의 부재를 나타내기 위해 NULL 이 될 수 있다.
  • 참조 값은 Stack Memory, 실제 값은 Heap Memory에 생성된다.
  • 객체가 복사되면 객체의 다른 복사본이 생성되지만, 둘 다 Heap Memory의 동일한 값을 가리키므로
    복사된 객체에 대한 변경은 원래 객체에도 변경 사항을 반영한다.

 

종류

  • 기본형을 제외한 나머지 타입

 

 

더보기

메모리에는 1 byte 단위로 일련번호가 붙어있는데, 이 번호를 '메모리 주소(memory address)' 또는 '주소'라고 한다.

객체의 주소는 객체가 저장된 메모리 주소를 뜻한다.

 

참고

https://www.geeksforgeeks.org/primitive-data-type-vs-object-data-type-in-java-with-examples/

'Language > Java' 카테고리의 다른 글

[Java] Stack & Queue  (0) 2022.06.27
[Java] StringBuffer & StringBuilder  (0) 2022.06.22
[Java] String  (0) 2022.06.21
[Java] 변수  (0) 2022.06.12
[Java] JVM 메모리 관리  (0) 2022.06.11
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함