태그: Console.WriteLine

다음은 Hello, World! 프로그램의 소스 코드입니다. 여기에서는 이들에 대한 설명을 통해 C#의 소스 구성을 간략하게 살펴보겠습니다.

▶ Program.cs

 

1.3.1 주석

주석은 실제 수행되는 코드가 아니라 개발자가 코드를 이해하기 쉽게 작성하는 것입니다. C#에서도 C언어나 C++처럼 한 줄 주석에는 //를 사용하고 특정 영역을 주석으로 만들 때는 영역의 시작에 /*를 영역의 끝에 */를 사용합니다. Microsoft Visual Studio 에서는 주석을 만들거나 해제하기 쉽게 [그림4]처럼 툴바에 버튼을 제공하고 있습니다.

[그림 4] 주석 처리와 해제를 용이하게 하는 버튼
[그림 4] 주석 처리와 해제를 용이하게 하는 버튼
 사용자가 정의하는 형식이나 형식 내 멤버에 대한 주석은 /// 를 사용하면 편집 창에서 이를 사용할 때 향상된 인텔리센스를 통해 주석의 내용을 확인할 수 있어 개발이 쉬워집니다.

 [그림5] 향상된 인텔리센스

[그림5] 향상된 인텔리센스
 메뉴 => 프로젝트 => 속성 => 빌드 탭을 선택하신 후에 XML 문서 파일 체크박스를 선택하시면 빌드 시에 출력 폴더에 xml문서가 작성이 됩니다. 특히 라이브러리를 만들 때 이처럼 프로젝트를 설정하면 사용하는 곳에서도 향상된 인텔리센스의 도움을 받을 수 있습니다. 이 부분은 10장 .NET 어셈블리에서 다시 한 번 언급하겠습니다.

[그림 6] XML 문서 파일 출력 설정
[그림 6] XML 문서 파일 출력 설정
▶ HelloWorld.XML

1.3.2 namespace

 C#에서는 namespace는 형식 이름 사이에 충돌을 막기 위해 제공하고 있습니다. 만약, 참조한 두 개의 .NET 어셈블리에 같은 이름의 클래스가 정의되어 있다면 이름 충돌이 발생하여 어느 클래스를 사용하려는 것인지 개발도구는 판단할 수 없게 됩니다. C#에서는 이러한 이름 충돌을 막기 위해 namespace 문법을 제공하고 있습니다.

 Console은 .NET Framework에서 제공하는 공용 클래스 라이브러리에서 System 이름 공간에 정의된 클래스입니다. 이를 사용하기 위해 using 구문을 사용하였습니다.

  Microsoft Visual Studio 2010에서는 소스 코드에서 사용해야 하는 namespace를 쉽게 추가하거나 사용하지 않는 namespace를 제거하는 컨텍스트 메뉴(오른쪽 마우스를 클릭했을 때 뜨는 메뉴)를 제공하고 있습니다. 만약, 사용하는 형식이 어떠한 이름 공간에 있는지 정확히 모르고 해당 형식에 대한 using 구문이 없다면 사용하는 코드에서 컨텍스트 메뉴를 통해 추가하거나 단축키(Shift+F10 혹은 Shift+Alt+F10)를 이용하십시오.

[그림 7] 컨텍스트 메뉴를 통한 using 구문 추가 및 제거
[그림 7] 컨텍스트 메뉴를 통한 using 구문 추가 및 제거

1.3.3 class

  C#으로 작성한 응용 프로그램은 최소한 하나 이상의 클래스를 가지고 있어야 합니다.

 클래스는 C# 언어에서 사용자 정의 형식을 만드는 방법의 하나이며 가장 강력하고 일반적으로 사용됩니다. 이 외에도 사용자 정의 형식을 만들기 위해 구조체와 열거형을 제공하고 있습니다. 클래스와 구조체는 여러 멤버들을 하나의 패키지로 캡슐화하는 주요한 도구이며 열거형은 변수가 가질 수 있는 값의 종류를 정의할 수 있습니다. 이 책은 대부분 이들에 대한 설명으로 이루어진다고 볼 수 있습니다.

1.3.4 Main

 Main은 프로그램의 진입점으로써 정적 메서드입니다. 여러분은 목적에 따라 Main 메서드를 다음 중 한 가지 형태로 정의할 수 있습니다.

 만약, Main 정적 메서드가 두 개 이상의 클래스에 정의되어 있을 때는 컴파일러 옵션을 통해 시작 개체를 지정해 주어야 합니다. 시작 개체를 설정하는 방법은 메뉴 => 프로젝트 => 속성 => 응용 프로그램 탭을 선택한 후에 시작 개체 콤보 박스에서 원하는 항목을 선택하시면 됩니다.

1.3.5 Console.WriteLine

 Console은 .NET Framework에서 제공하는 클래스 라이브러리에서 제공되는 클래스 중의 하나이며 System namespace에 정의되어 있습니다. Console 클래스는 표준 출력, 표준 입력 및 오류 스트림을 나타내며 콘솔 응용 프로그램에서 입출력 작업을 위해 자주 사용됩니다. 그중에 WriteLine은 정적 멤버 메소드로 표준 출력에 입력 인자로 전달된 문자열과 개행을 출력하는 역할을 담당합니다.