Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
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
Archives
Today
Total
관리 메뉴

나는개발자니까

[Java] 스택영역과 힙영역의 차이점 본문

Java

[Java] 스택영역과 힙영역의 차이점

된다고했잖아요 2023. 3. 29. 17:50

 

1. 스택영역과 힙영역의 차이점은 뭘까?

 

간단하게 말하면, 스택영역에는 기본형 변수가 저장이 되서 힙역역에는 객체가 저장된다. 

 

 

2. 그럼 왜 스택에는 기본형만 저장이 되고, 힙영역에는 객체가 저장되는 걸까?

 

각자의 역할을 분류한 것이다. 스택에서의 변수는 변수의 역할을 하고 힙에서의 객체는 객체의 역할을 한다.

 

비유를 하자면 우리는 헬스장에서 락커룸을 흔하게 볼 수 있다. 나는 그것과 유사하다고 생각했다.

 

스택은 주머니에 락커번호가 써져있는 열쇠가 들어있고, 힙에는 락커안에 칸칸이 객체가 들어있는것과 같다.

 

이때 주머니는 스택영역, 락커번호는 객체의 주소값이고, 락커는 힙영역이다.

 

 

락커번호가 써져있는 열쇠 락커키 = 변수

 

객체가 들어있는 공간 = 락커 = 힙 영역

 

그리고 또 키포인트가 있다. 

 

우리가 창고를 쓸때 어떤 목적으로 쓸까?

 

다시 쓸만한 물건을 적재 하고 위치를 기억해놨다가 다시 쓸 수 있기 때문에 사용한다.

 

스택과 힙 영역도 같은 원리로 사용된는 것이다. 

 

 

 

 

출처 : https://kr.123rf.com/photo_31285075_%ED%9D%B0%EC%83%89-%EB%B0%B0%EA%B2%BD%EC%97%90-%EB%B0%A9-%EB%B2%88%ED%98%B8%EC%99%80-%ED%98%B8%ED%85%94-%ED%82%A4.html

https://m.blog.naver.com/spomarket_biz/221082218661