2010년 9월 2일 목요일

콘솔 프로젝트를 생성할 때 만들어지는 파일들

Visual C#으로 콘솔 프로젝트를 생성할 때 만들어지는 파일들이 있습니다.

그것은 AssemblyInfo.cs와 Program.cs 입니다.


AssemblyInfo.cs

이 파일은 프로젝트와 관계되는 어셈블리의 정보가 담겨 있는 CS 파일입니다. 어셈블리는 하나의 기능을 생성하는 타입과 리소스의 집합체입니다. 하나의 프로젝트를 만든다는 것은 하나의 어셈블리를 만드는 것을 의미합니다.

using System.Reflection; 
using System.Runtime.CompilerServices; 
using System.Runtime.InteropServices; 
// 어셈블리의 일반 정보는 다음 특성 집합을 통해 제어됩니다. 
// 어셈블리와 관련된 정보를 수정하려면 
// 이 특성 값을 변경하십시오. 
[assembly: AssemblyTitle("OpenCS.Common.AutoUpdate.WinForms")] 
[assembly: AssemblyDescription("")] 
[assembly: AssemblyConfiguration("")] 
[assembly: AssemblyCompany("")] 
[assembly: AssemblyProduct("OpenCS.Common.AutoUpdate.WinForms")] 
[assembly: AssemblyCopyright("Copyright (C) 2008")] 
[assembly: AssemblyTrademark("")] 
[assembly: AssemblyCulture("")] 
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에 
// 노출되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면 
// 해당 형식에 대해 ComVisible 특성을 true로 설정하십시오. 
[assembly: ComVisible(false)] 
// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다. 
[assembly: Guid("e0bdc914-e6b1-4740-92ab-607ddd62f47e")] 
// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다. 
// 
// 주 버전 
// 부 버전 
// 빌드 번호 
// 수정 버전 
// 
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 버전이 자동으로 
// 지정되도록 할 수 있습니다. 
[assembly: AssemblyVersion("1.0.0.0")] 
[assembly: AssemblyFileVersion("0.3.1.0")]


Program.cs







이 파일은 콘솔 프로젝트 생성 후 개발자가 코드를 작성할 수 있는 최초의 소스 파일입니다. 기본적으로 생성되는 코드는 아래와 같습니다.







using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace HelloWorld // 여기에서 HelloWorld는 프로젝트 이름입니다.
{
class Program
{
static void Main(string[] args)
{
}
}
}






  • using 문과 네임스페이스


처음 4줄에는 using 문들이 기술되어 있네요. Visual C#은 새 콘솔 프로젝트를 생성할 때 자주 사용하는 네임스페이스들을 Program.cs에 명시합니다. 처음 시작하시는 분들에게는 생소한 용어들이 몇 가지 있을 거예요. using도 그렇고, 네임스페이스도, 클래스도 그렇습니다. C#은 객체지향 프로그래밍 언어입니다. 이는 C#으로 만든 프로그램은 여러 가지의 객체들로 구성됨을 의미합니다. 객체를 만들기 위해서는 클래스라는 것을 정의해야 합니다. C#에서는 프로그램을 만들기 위해 적어도 한 개의 클래스가 필요합니다. 우리가 컴퓨터에 파일을 저장할 때 폴더를 만들고 어디에 저장할지를 정하지요. 마찬가지로 클래스들이 많이 만들어지면 이들을 보다 쉽게 구별할 수 있는 방법이 필요합니다. 이 때 사용되는 개념이 바로 네임스페이스입니다. 하나의 클래스는 하나의 네임스페이스에 속하며, 하나의 네임스페이스는 다른 네임스페이스에 속하는 것이 가능합니다. 본래 클래스를 사용하기 위해서는 그것이 속하는 네임스페이스들을 같이 기술해야 합니다. 그러나 using 문을 이용하면, 그러한 번거로움을 덜어줍니다.





  • Program.cs에서 정의되는 네임스페이스


C#은 콘솔 프로젝트를 만들 때 기본적으로 프로젝트와 동일한 이름으로 네임스페이스를 만듭니다. 그리고 그 안에 Program이라는 클래스를 정의하지요. 클래스만 남겨두고 네임스페이스를 지워도 빌드에는 문제가 없습니다. 다만, 프로젝트 이름의 네임스페이스를 만들어두는 것이 나중에 클래스들을 관리하는데 더 도움이 됩니다.








  • Program 클래스와 Main 함수


콘솔 프로젝트 생성시 Visual C#은 기본적으로 Program 클래스를 만듭니다. 이 클래스 안에 프로그램 코드를 작성하면 되겠습니다. 이것은 Main 함수를 가지고 있으며, 프로그램의 시작과 끝은 이 함수에 의해 처리됩니다. 프로그램이 무엇을 할 것인지는 이 함수 안에 코드를 작성하는 것으로 완성됩니다.





  • Program 클래스의 이름을 바꿔도 될까요?

   Program.cs의 Program 클래스의 이름을 바꿔도 빌드가 되는지 궁금했습니다. 시험 결과 빌드 오류는 없었습니다. 즉, 클래스 이름은 마음대로 정할 수 있다는 거지요. 그렇지만 하나의 CS 파일에 하나의 클래스가 들어가며, 두 이름은 일치하는 것이 좋습니다. 일관성 있는 코드를 만들기 위해서는 이러한 규칙을 지키는 것을 권장합니다.





 
도모네 프로그램 세계 :: 네이버 블로그

댓글 없음:

댓글 쓰기