본문 바로가기

Stack

C# 기초 03.2 - 스택(Stack)과 힙(Heap) 안녕하세요. "투명 나비" 입니다 지난 시간에는 박싱(Boxing)과 언박싱(Unboxin)을 배웠습니다. 박싱(Boxing)은 스택에서 힙으로 메모리가 옮겨 가는 것, 언박싱(UnBoxing)은 힙에서 스텍으로 메모리가 옮겨 가는 것이라고 설명을 드렸습니다. 이번시간에는 스택(Stack)과 힙(Heap)에 대해서 조금 더 자세히 알아 보도록 하겠습니다. 컴퓨터 메모리 자세한 내용을 알기 전에 메모리는 마치 HashTable 처럼 한 쌍(Pair)의 "메모리 주소"와 "값"이 하나의 "세트"로 존재한다고 알고 있어야 합니다. "주소"는 메모리 안의 위치 라고 기억하시고, "값"은 그 위치에 저장된 정보라고 이해하시면 됩니다. 컴퓨터가 "주소"를 모르면, 찾고자 하는 정확한 정보를 찾지 못합니다. 다른말로.. 더보기
C# 기초 03.1 - 박싱(Boxing)과 언박싱(UnBoxing) 안녕하세요. "투명 나비" 입니다 지난 시간에는 컬렉션과 일반화 컬렉션을 배웠습니다. 컬렉션은 모든 타입의 변수를 저장할 수 있고, 일반화 컬렉션은 선언된 타입의 변수만 저장할 수 있습니다 두 컬랙션의 차이 중 하나는 박싱(boxing) 문제에 대한 다른 접근입니다. 이번시간에는 코딩 보다 컴퓨터 내부에서 일어나는 일인 박싱(boxing)에 대해 알아보겠습니다. 먼저 박싱(boxing)에 대해 알아보기 전에 메모리를 저장하는 2가지 형식을 먼저 알아보겠습니다. "값"과 "참조" 형식이 있습니다. - 값 형식(Value Type) : 실질적인 데이터의 값 예) 기초 01 : 자료형(Data Type)에서 배웠던 정수형, 실수형, 문자형, 불린형입니다. - 참조 형식(Reference Type) : 값을 가.. 더보기
C# 기초 04 - 일반화 컬렉션(Generalization Collection) 안녕하세요 "투명 나비" 입니다. 저번 시간에는 배열(Array)의 단점을 보완한 컬렉션(Collection)을 배웠습니다. 컬렉션(Collection)은 한개의 컬랙션에 어떠한 데이터 타입이라도 상관 없이 저장할 수 있으며 추가, 삭제, 찾기 등이 용이했습니다. 다만, 그때문에 어떠한 데이터라도 저장할 수 있는 큰 크기의 저장공간을 확보해야 했으며, 데이터에 접근 할 때마다 "박싱문제"(추후 설명)가 생기고, 안에 들어 있는 데이터의 타입을 알지 못한다는 단점이 있었습니다. 이러한 단점을 어떤 타입의 데이터가 들어갈지 미리 정하는 방법으로 보완한 것이, 이번에 배울 일반화 컬렉션(Generalization Collection) 입니다. 오늘은 C# 기초 : 네번째!! 일반화 컬렉션(Generalizat.. 더보기
C# 기초 03 - 컬렉션(Collection) 안녕하세요 "투명 나비" 입니다. 저번 시간에는 다수의 정보를 하나의 변수에 저장하는 배열(Array)를 배웠습니다. 배열(Array)은 처음 값을 줄때 그 크기가 정해져 있고, 추가 또는 삭제를 할려면 새로운 배열을 생성하여, 복사를 하는 코드가 따로 필요합니다. 이러한 작업을 편리하게 구현한것이 이번에 배울 컬렉션(Collection) 입니다. 오늘은 C# 기초 : 세번째!! 컬렉션(Collection)에 대해서 알아보겠습니다. 먼저 c#에서 제공하는 컬렉션을 사용하기 위해서는 "System.Collections" 네임스페이스(추후설명)을 선언해야합니다. Collections 네임스페이스에서는 ArrayList, Hashtable, Queue, Stack 등의 컬렉션을 제공합니다. 클레스 설명 Arr.. 더보기