19.03.22 Stack 과 Heap

개임개발/과제 2019. 3. 24. 17:10
728x90
반응형

Stack 이란?

 

스택은 컴퓨터에서 사용되는 기본 데이터 구조 중 하나로 데이터를 후입선출(LIFO : Last In, First Out, FILO : First In, Last Out) 구조로 유지하는 추상 데이터형(abstract data type)을 말한다.

컴퓨터 공학에서 스택 혹은 LIFO는 추상 데이터형으로, 두 가지 기본 연산인 삽입(push)과 삭제(pop)를 수행하는 순서를 가지는 요소(elements) 집합이다. 삽입 연산은 데이터 요소를 스택의 최상위(top)에 추가하고 기존의 요소들은 그 아래에 두는 연산이다. 삭제 연산은 스택의 현재 최상위 요소를 제거하고 이를 반환하는 연산이다. LIFO라는 용어는 이러한 연산들로 인한 스택의 특성으로부터 기인한 것으로, 스택에서는 각 요소가 삽입 연산의 순서와 반대로 가장 먼저 삽입되어 스택에 들어간 요소가 가장 최후에 삭제된다는 특성을 나타낸다. 스택은 선형 자료구조로 구조의 한쪽 끝(top)에서만 삽입과 삭제 연산이 일어나는 제한된 데이터 구조이다.

 

 

Stack 포스팅

https://docs.microsoft.com/ko-kr/dotnet/api/system.collections.stack?view=netframework-4.7.2

https://terms.naver.com/entry.nhn?docId=2837556&cid=40942&categoryId=32841

 

 

 

 

Heap란?

Heap (힙) 영역은 참조 형식의 변수 할당 이다.

힙 영역은 스택에 반대되는 개념의 메모리라고 볼 수 있다. 힙에는 new를 이용하여 생성된
메모리가 복사된다. 즉, 메소드 내에서 선언된 변수는 스택에, new를 이용한 메모리는
힙에 복사되는 것이다. 
어떠한 객체 생성을 통해 값을 설정하면, 스택에는 이에 대한 메모리 주소가 생겨난다.
힙에는 이에 따른 실질적인 값이 들어간다.

힙 메모리에서 중요한 점은 다음과 같다.
1. 스택에는 메모리 주소가, 힙에는 실질적인 값이 복사된다.
2. 새로운 객체 변수에 기존의 변수를 할당하면 스택의 메모리 주소만 복사된다.
3. 값을 변경하면 메모리를 참조하고 있는 모든 변수의 값은 동일해진다.


Heap 포스팅

https://blog.naver.com/ever_green23/221003845504

 

728x90
반응형

'개임개발 > 과제' 카테고리의 다른 글

19.03.25 값 복사와 참조 복사  (0) 2019.03.25
19.03.22 오우거 잡기  (0) 2019.03.24
19.03.22 문자열 표현식 예제  (0) 2019.03.22
19.03.22 과제 데이터 타입 예제  (0) 2019.03.22
19.03.22 과제 for문  (0) 2019.03.22
: