1장
1. Hello World!
using System;
namespace study2
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
모든 프로그래밍을 시작할 떄 시작하는 Hello World 출력문.
위 소스를 컴파일하면 .exe의 어셈블리를 만들어 낸다.
그리고 실행시키면 Hello World! 를 출력한다.
* 어셈블리
컴파일 과정에서 만들어진 어셈블리는 CLR에서 실행할 수 있는 코드이다.
.NET 프레임워크에서 실행할 수 있는 코드이며 가상 공간에서 실행된다,
어셈블리의 결과물은 .exe와 .dll이다.
위 소스는 using 지시문으로 System 네임스페이스를 참조하는 구문으로 시작된다.
네임스페이스는 말 그래로 이름공간이다.
프로그래밍을 하다보면 변수나 클래스의 이름이 중복이 발생하는 경우가 생기는데
개인 또는 소규모 개발은 이름을 바꾸면 해결되지만
대규모, 여러 팀의 프로젝트에서는 하나의 이름 변경도 큰 일이다.
이런 경우를 대비해서 만든 장치가 네임스페이스이다.
네임스페이스안에 클레스와 변수를 담아 둔다면 이름이 같다 하더라도
컴퓨터는 네임스페이스의 이름으로 판별하여 서로 다른 것임을 판별하기 때문이다.
물론 네임스페이스도 중첨해서 사용이 가능하다.
그리고 네임스페이스는 using문을 통하여 해당 네임스페이스를 호출하여 사용한다.
그래서 System.Console.WriteLine() 으로 호출 하여야 할 함수를
System이라는 네임스페이스를 호출하였기 떄문에 Console.WriteLine() 으로 사용을 하는 것이다.
2. 프로그램 구조
C#에서 핵심 체계의 개념은 프로그램과 네임스페이스, 자료형, 멤버, 어셈블리다.
프로그램에서는 형식을 선헌하는데, 여기에는 멤버를 포함하고 네임스페이스로 체계화 할 수 있다.
형식에는 클레스와 인터페이스가 있으며, 멤버로는 필드와 메소드, 속성, 이벤트를 들 수 있다.
어셈블리는 중간언어 IL 명령어 형태의 실행코드와
메타데이터의 형태로 기호화 된 정보를 담고 있다.
어셈블리는 실행되기 전에 어셈블리의 IL코드는
자동으로 닷넷 공통언어 런타임(CLR)에 의해 프로세서별 코드로 변환된다.
어셈블리는 코드와 메타데이터 둘 다를 담고 있는 기능의 자기 설명단위이기 떄문에 C#에서 #include 지시문과 헤더 파일은 필요하지 않다. 특정 어셈블리에 포함된 공용 형식과 멤버는 프로그램을 컴파일 할 때 그 어셈블리를 참조해 간단히 C#프로그램에서 사용할 수 있게 만들어진다.
C#에서는 프로그램의 소스 텍스트를 몇 개의 소스 파일에 저장해도 알아서 처리한다.
다수의 C# 프로그램을 컴파일할 때 관련된 소스 파일은 함께 처리되며,
이들 소스 파일은 서로 간에 자유롭게 참조할 수 있어 컴파일러에서는 개념적으로 모든 소스 파일이 하나의 커다란 파일에 연결된 것처럼 처리한다.
몇 가지 예외를 제외하고 선언 순서는 중요하지 않기 떄문에 C#에서 정방향 선언은 거의 필요하지 않다.
C#은 소스 파일에서 하나의 공용 형식을 선언허거나 소스 파일의 이름을 소스에서 선언한 형식과 같아야 한다는 제약이 없다.
3. 형식과 변수
C#에서는 값 형식과
'FrontEnd > C#' 카테고리의 다른 글
| C# Winform 간 핸들링 (0) | 2013.07.03 |
|---|---|
| C# Chart (Line) 실시간 반영 (0) | 2013.07.01 |
| The C# Programing Language 4장 (0) | 2012.08.03 |
| The C# Programing Language 3장 (0) | 2012.08.03 |
| The C# Programing Language 2장 (0) | 2012.07.28 |