728x90

1. 메모리의 데이터가 쌓이는 과정

우리는 컴퓨터를 사용할 때 많은 프로그램을 사용한다. 프로그램을 실행하면 메모리에 쌓이면서 프로세스가 수행하게 된다. 이때 메모리는 무슨 역할을 하는 것일까?

 

2. 메모리의 구조

메모리는 대표적으로 4가지의 공간을 가지고 있다. 그것은 ①코드 ②데이터 ③힙 ④스택 이다.

① 코드(Code)

 코드 영역은 단어 그대로 프로그램의 구성된 코드를 실행하는 공간이며, '텍스트(Text) 영역'으로도 불린다.

② 데이터(Data)

 데이터 영역은 프로그램의 전역 변수와 정적(Static) 변수가 저장되는 영역이다.

 프로그램이 시작하는 경우 할당되고 종료 시 사라진다.

 

(Static에 대해 더 자세히 알고 싶다면 아래 링크를 타고 게시글을 확인해주세요!)

https://jfbta.tistory.com/107

 

Java ] Static이란? / Static 사용하는 이유 / Static 사용방법

알고리즘을 가르치던 중 Static이 무엇인지 질문을 받았다. 내 답변은 '정적..' 더 이상 자세한 설명을 할 수 없었다. 사용법은 알고 있었고, 과거에 궁금해서 공부를 했었지만(까먹음) 추상적으로

jfbta.tistory.com

③ 힙(Heap)

 힙 영역은 사용자가 동적으로 공간을 할당할 수 있다. 즉 사용자가 관리할 수 있는 영역이다.

 그리고 메모리의 낮은 주소에서 높은 주소의 방향으로 할당된다.

④ 스택(Stack)

 스택 영역은 함수의 호출 시 지역 변수와 매개변수가 저장되는 영역이다. 함수 호출 시 할당되고, 완료되면 사라진다.

 그리고 우리가 자료구조를 공부할 때 말하는 그 스택과 가 메모리의 높은 주소에서 낮은 주소 방향으로 할당된다.

728x90
TOP