목록이것이 c#이다/02 데이터 보관 (4)
충분히 쌓여가는
힙힙은 스택처럼 저장된 데이터를 스스로 제거하는 매커니즘을 갖고 있지 않는다대신 CLR의 Garbage Collector가 프로그램 뒤에서 동작한다Garbage Collector는 힙에 더 이상 사용하지 않는 객체가 있으면 그 객체를 쓰레기로 간주하고 수거하는 기능을 한다 스택 메모리 영역이 대신 Garbage Collector를 사용하는 이유스택에 싸힌 데이터들은 코드 블록이 사라지는 시점에 함께 제거된다그래서 다른 메모리 영역을 CLR이 제공하고, 힙에 데이터를 올려두면 코드 블록이 종료되는 지점과 상관없이 데이터는 유지된다이후 더 이상 사용하지 않는 데이터가 되었을 때 Garbage Collector로 데이터가 이동한다 참조형식참조 형식 변수는 힙과 스택을 함께 사용하는데힙 영역에는 데이터를 저장하..
값 형식 Value Type변수가 값을 담는 데이터 형식 참조 형식변수가 값 대신 값이 있는 곳의 위치(참조)를 담는 데이터 형식 스택{ int a = 100; int b = 200; int c = 300;}a, b, c 변수는 차례대로 스택에 쌓였다가 코드 블록이 끝나면서 스택에서 걷혀 제거된다값 형식의 변수들은 스택에 저장된다-> 코드 블록 안에서 생성된 모든 값 형식의 변수들은 프로그램 실해이 코드 블록을 닫는 중괄호 }를 만나면 메모리에서 제거됨
변수값을 대입시켜 변화시킬 수 있는 요소메모리 입장: 데이터를 담는 일정 크기의 공간(일정 크기는 데이터 형식에 따라 결정됨) 선언 Declare변수를 만든다(X)변수를 선언한다(O)컴파일러한테 변수를 선언한다(컴파일러에게 해당 변수에 필요한 메모리 공간을 예약해달라고 함)int x // 선언x = 100; // 데이터 할당int x = 100; // 선언과 초기화를 한 번에 함int a, b, c; // 같은 형식의 변수들은 동시에 선언할 수 있다int x = 30, y = 40, z = 50; // 선언과 초기화를 한 번에 하는 것도 가능 초기화 Intialization변수에 최초의 데이터를 할당하는 것C#은 초기화를 강제하여 쓰레기 데이터를 담고 있는 변수를 사용하게 하지 않는다초기화되지 않은 변..