기본 개념 메모리 구조 [ [코드 영역] [data 영역] [heap 영역] [stack 영역] ] Data 영역 프로그램이 실행하는 동안 메모리에 올라와 있다. 주로 전역/정적 변수가 할당된다. Stack 영역 함수가 시작할 때 메모리에 올라오고 함수가 종료하면 정리된다. 잠시 사용하는 용도로 사용한다. 주로 지역/매개 변수가 할당된다. 몬스터를 1마리 ~ 5만 마리 생성한다고 할 때, 어느 영역에 저장해야 할까? stack 영역에 저장하면 stack overflow가 발생하면서 프로그램이 강제 종료된다. data 영역에 저장하면 최대 값을 저장하기 때문에 빈 공간이 많아진다. 즉, 메모리 낭비가 심하다. 따라서 항상 일정하지 않고 실시간으로 바뀔 수 있는 정보를 저장하기 위해 heap 영역을 사용한다..