반응형
변수의 종류는 위 페이지를 참고해주세요.
이 페이지에서는 변수를 데이타 타입으로 분류해보겠습니다.
데이터 타입은 크게 기본 / 참조 두가지로 나뉜다.
데이터를 사용할 때 어느 메모리 영역을 사용하느냐에 따라 나뉩니다.
Heap과 Stack을 처음 들어보신다면 위 글로 JVM 의 구조를 간단히 알면 도움이 될 겁니다.
기본타입 = 원시타입 Primitive Type
기본타입은 Stack만 사용 하며, 여기에 실제 데이터 값을 저장합니다.
참조타입 Reference Type
참조타입은 Heap과 Stack 을 사용합니다.
주소를 Stack에,
값은 Heap에 저장합니다.
String str = "stack영역";
만약 System.out.print(str) 로 참조변수 str 을 호출한다면
jvm은 stack에 저장된str이란 주소를 통해 heap에서 값을 가져옵니다.
참고로 참조타입 Class, Array, Enum, Interface 는 모두 객체입니다.
개인적으로 이해한 방법은(틀릴 수도 있습니다)
Stack은 바로 들어왔다가 사라지는 가벼운(기본타입의 값들은 가벼우니까요) 값들이 들어간다고 이해했습니다.
참조타입의 주소를 담는 것도, 참조타입의 값은 보통 크니까 Heap Memory에 담는 게 아닐까...
반응형
'☕ 자바 JAVA > ☕ 변수와 자료형 Variables & Data Type' 카테고리의 다른 글
[JAVA]class 객체배열을 만들 때 주의할 점 (0) | 2023.08.19 |
---|---|
[JAVA]인수(=인자) Argument와 매개변수 Parameter (0) | 2023.01.09 |
[JAVA]선언위치와 static유무로 구분한 변수종류 (0) | 2023.01.08 |
[JAVA]변수 선언과 변수 초기화(차이) (0) | 2023.01.04 |
[JAVA]변수 Variables (0) | 2023.01.03 |