개발기록/개념정리
java에서 stack과 heap의 차이.
응개야
2023. 9. 5. 11:56
스택(Stack)과 힙(Heap)은 컴퓨터 메모리에서 정보를 저장하는 두 가지 장소라고 생각할 수 있어요.
이 두 장소에는 몇 가지 중요한 차이점이 있어요.
1. 스택(Stack):
스택은 무언가를 쌓아놓는 곳처럼 생각할 수 있어요. 가장 최근에 쌓인 것이 가장 먼저 사용되어요.
이것을 "후입선출" 또는 "Last-In-First-Out (LIFO)"라고 부릅니다.
스택에는 작은 정보들이 저장돼요. 예를 들어, 함수를 호출할 때 사용되는 작은 데이터, 변수 등이 여기에 저장돼요.
스택에서 데이터는 아주 빨리 저장되고 사용됩니다.
2. 힙(Heap):
힙은 무언가를 놓아두는 곳처럼 생각할 수 있어요. 여기에는 더 크고 복잡한 정보들이 저장돼요.
주로 객체, 배열 등이 힙에 저장돼요.
힙에서 데이터는 스택보다 더 오래 살아요. 객체가 만들어지면 계속 사용될 수 있습니다.
힙은 스택보다는 느리게 데이터를 저장하고 사용해요.
예를 들어, 만약 우리가 컴퓨터 게임에서 캐릭터의 위치를 저장한다고 생각해볼게요.
캐릭터의 현재 위치는 스택에 저장될 것이고, 게임 내의 여러 가지 물건이나 아이템은 힙에 저장될 것입니다.
간단하게 말하면, 스택은 빠르고 간단한 정보를 저장하는 곳이고, 힙은 크고 오래 사용되는 정보를 저장하는 곳이에요.