using System

  • using System 은 using 과 System 으로 나눠져있습니다.
  • 이것은 C++ 로 비유하면 using namespace std 와 비슷한 역할을 합니다.
  • using System 은 System 클래스를 사용한다는 의미로 System.Console.WriteLine 같이 앞에 System 을 생략할 수 있게 합니다
using System;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Hello, World!");
    }
}

 

 

namespace

namespace 는 성격이나 하는 일이 비슷한 클래스, 구조체, 인터페이스, 대리자, 열거 형식 등을 하나의 이름 아래 묶는 일을 합니다.

  • 여러 용도별/분야별로 정리되어 있는 namespace 로 나누었을 때 namespace 키워드를 사용하면 쉽게 찾을 수 있게 됩니다.
  • 하나의 C# 소프 파일(.cs)은 여러 개의 네임스페이스를 가질 수 있습니다.
namespace LibraryA
{
    class Program
    {
        public void Run() => Console.WriteLine("LibraryA Program");
    }
}

namespace LibraryB
{
    class Program
    {
        public void Run() => Console.WriteLine("LibraryB Program");
    }
}
  • 예를들면 Hello 라는 네임스페이스를 만들고, 그 뒤에 따라오는 중괄호와 Hello 네임스페이스에 MainApp 클래스를 담습니다.
namespace Hello
{
    class MainApp
    {
        
    }
}

 

Main

모든 프로그램에는 하나의 진입점만이 존재합니다. 그 진입점은 다음과 같은 메서드가 되겠습니다.

using System;

namespace Program
{
    class MainApp
    {
        static void Main(string[] args)
        {
            if (args.Length == 0)
            {
                Console.WriteLine("사용법 : Hello.exe <이름>");
                return;
            }

            Console.WriteLine("Hello, {0}!", args[0]);
        }
    }
}

 

위와 같은 진입점은 string[] args 로 string 배열을 담고 있으므로 파일을 실행할 때 전달된 string 값을 사용할 수 있게 합니다.

 

ytw_developer