int i = 123;
object o = i; // boxing (값 형식 -> 참조 형식)

int j = (int) o; // unboxing (참조 형식 -> 값 형식)

int i = 123;
object o = i; // boxing (값 형식 -> 참조 형식)


Boolean (bool)
 StructTest.cs값 형식(Value Type)과 참조 형식(Reference Type) 
구분  | 값 형식(Value Type)  | 참조 형식(Reference Type)  | 
종류  | 내장형 (int, char, float,…) 사용자 정의형 (enum, stuct)  | Object, string, class, interface, delegate, ..  | 
메모리 사용  | 스택  | 스택, 힙  | 
대입(Assignment)  | 복사  | 참조 변경  | 
크기  | 고정  | 가변  | 
Garbage Collector 지원  | 지원 안됨  | 지원 됨  | 
스택(Stack)은 Last-In, First-Out(LIFO) 방식으로 아이템을 저장하는 메모리의 자료 구조이다.
스택(Stack)은 지역변수(local variable)와 함수 리턴주소를 저장한다. C#에서 값형식(Value Type) 데이터는 스택에 저장된다.
힙(Heap)은 프로그램 코드 영역과는 별도로 유지되는 자유 메모리 공간이다.
힙(Heap)은 C#에서 new를 사용하여 메모리 할당하여 이 공간을 사용할 수 있다.
힙에 할당된 데이터는 전역변수(global variable)처럼 프로그램이 종료될 때까지 유지된다.
C#에서는 더이상 참조하지 않는 데이터를 자동으로 해제해준다 (gabage collection).
C#에서는 참조형식(Reference Type)은 스택에 메모리 주소를 저장하고 힙에 실질적인 데이터가 저장된다.
http://en.csharp-online.net/Stack_vs._Heap
http://stackoverflow.com/questions/79923/what-and-where-are-the-stack-and-heap
http://msdn.microsoft.com/ko-kr/library/acy3edy3(v=vs.100).aspx
– Main 메서드는 프로그램 제어가 시작되고 끝나는 .exe 프로그램의 진입점입니다.
– Main은 클래스 또는 구조체 내부에 선언됩니다.Main은 static이어야 하며 public이 아니어야 합니다.이전 예제에서 이 메서드에는 기본 액세스 수준인 private이 지정되었습니다. 이 메서드의 바깥쪽 클래스나 구조체는 정적일 필요가 없습니다.
– Main은 void 또는 int 반환 형식일 수 있습니다.
– Main 메서드는 명령줄 인수를 포함하는 string[] 매개 변수가 있거나 없는 상태로 선언할 수 있습니다.Visual Studio를 사용하여 Windows Forms 응용 프로그램을 만드는 경우 수동으로 매개 변수를 추가하거나 Environment 클래스를 사용하여 명령줄 인수를 가져올 수 있습니다.매개 변수는 명령줄 인수(0부터 시작)로 읽습니다. C 및 C++와 달리 프로그램의 이름은 첫 번째 명령줄 인수로 취급되지 않습니다. 
 
네임스페이스  | 설명  | 
System  | 타입, 메모리 관리 등 핵심 클래스들  | 
System.Collections  | 배열, 연결 리스트 등의 컬렉션 클래스  | 
System.IO  | 파일 입출력 및 네트워크 관련 클래스  | 
System.Windows.Forms  | 윈도우즈 폼과 컨트롤  | 
System.Drawing  | GDI+  | 
System.Web  | 웹 개발에 관련된 클래스  | 
System.Xml  | XML 관련 클래스들  | 
System.Security  | 보안, 암호, 권한 관련 클래스  | 
namespace (MSDN)
http://msdn.microsoft.com/ko-kr/library/0d941h9d(v=vs.100).aspx
namespace (C# Study)
http://csharpstudy.com/CSharp/CSharp-namespace.aspx
namespace (Hoons.net)
http://www.hoons.kr/Lecture/LectureMain.aspx?BoardIdx=43000&kind=53&view=0
namespace (Winapi)
http://www.winapi.co.kr/dotnet/book/2-3-1.htm
using System;
namespace ConsoleApplication1
{
  namespace A
  {
    class MyClass 
    { 
      int value = 1;
      public void MyMethod() { System.Console.WriteLine(value); }
    }
  }
  namespace B
  {
    class MyClass
    {
      double value = 2.1;
      public void MyMethod() { System.Console.WriteLine(value); }
    }
  }
  class Program
  {
    static void Main(string[] args)
    {
        A.MyClass a = new A.MyClass();
        a.MyMethod(); // 1 출력
        B.MyClass b = new B.MyClass();
        b.MyMethod(); // 2.1 출력
     }
  }
}
HW0-Your First C# Program 실행 리포트
(Due by 9/10)