C#

(C#) "콘솔 앱" 프로젝트: 최상위 문 사용 안 함

코딩ABC 2023. 6. 24. 22:17
반응형

비주얼스튜디오 2022에서 프로젝트를 "콘솔 앱(.NET Framework)"를 선택해서 만들 때 자동으로 생성되어 있는 코드입니다.

콘솔 앱(.NET Framework) 프로젝트 생성

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
        }
    }
}

 

다음은  "콘솔 앱"을 선택해서 프로젝트를 생성해 보겠습니다.

 

새 프로젝트 구성

"콘솔 앱" - 최상위 문 사용 안 함

 

"최상위문 사용 안 함"을 체크하지 않고 기본값으로 생성하면 아래와 같은 코드가 생성됩니다.

네임스페이스(namespace)도 없고, 프로그램의 시작점인 Main() 메서드도 보이지 않습니다.

 

기본적인 네임스페이스와 Main() 메서드가 생략된 형태라 생각하면 됩니다. 즉, Main() 메서드 내부라고 생각하며 됩니다.

최상위문

"최상위문 사용 안 함"을 체크하지 않고 프로젝트를 생성했을 때 생성되는 코드

using System;

namespace ConsoleApp4
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // -----------------------------------------------------------
            // 이 코드만 있고, 나머지 부분은 생략된 형태
            // See https://aka.ms/new-console-template for more information
            Console.WriteLine("Hello, World!");
            // -----------------------------------------------------------
        }
    }
}

 

이번에는 "최상위 문 사용 안 함"을 체크라고 프로젝트를 생성해 보겠습니다.

"최상위 문 사용 안 함" 체크

 

 

여기에도 네임스페이스 "using System"이 생략되어 있으나, Main() 메서드를 갖는 코드를 생성합니다.

최상위 문 사용 안 함" 체크할 때 생성된 코드

 

 

간단한 프로그램이라면 어떤 형태를 사용하든 상관은 없겠지만, 조금 복잡해지면 -- 예를 들면, 사용자가 정의한 메서드가 많거나 -- Main() 메서드를 갖춘 프로젝트를 생성해야 하지 않을까? 하는 생각이 듭니다.

 

어째든 비주얼스튜디어에서 기본으로 생성되는 "최상위문 사용 안 함"을 체크하지 않고 생성되는 프로젝트에도 좀 익숙해져야 되겠습니다 -- 문법적으로 클래스 내부에 다른 클래스를 생성하는 형태, 메서드 내부에 다른 메서드를 생성하고 호출 하는 형태에 관한 문법을 살펴보면 좋겠습니다.

반응형