[닷넷동영상]1.3 C#, HelloWorld, Main 함수

1-3. C#, HelloWorld, Main 함수

◆ VS.NET에서 HelloWorld 작성 하기
 
◇ Visual Studio .NET 을 실행
◇   파일 -> 새로만들기 -> 프로젝트 메뉴선택
◇   (프로젝트는 c:\dotnet\project\OnjConsole1 이라고 하자)
◇  Visual C#, 콘솔 응용프로그램 선택
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace OnjConsole1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello Onj");
        }
    }
}
 
[실행 : Ctrl + F5]
[결과]
Hello Onj
 
 
[메인 함수에서 인자 받아 들이기]
 
using System;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello {0}, {1}",args[0], args[1]);
        }
    }
}
 
[실행]
메인함수에 인자 주기 : 프로젝트에서 우측 마우스버튼 클릭 -> proprties -> Debug -> Command Line Arguments에 메인함수에 넣어 줄 인자를 기술한다
 
onj oraclejava
 
[결과] Hello onj oraclejava
 

 명령프롬프트(Command Prompt)을 이용한 컴파일
 
D:\dotnet\project 폴더에 Hello.cs 파일을 만들자
 
[Hello.cs]
class Program
{
      static void Main(string[] args)
      {
          System.Console.WriteLine("Hello {0}", args[0]);
      }
}
 
자바와 달라 class명이 꼭 파일명일 이유는 없다.
 
[컴파일]
시작 -> Visual Studio 2015 -> VS2015용 개발자 명령 프롬프트
 
D:\dotnet\project 로 이동, D:\dotnet\project>csc Hello.cs
 
[실행]
D:\dotnet\project>Hello ONJ
 
[결과]
Hello ONJ
 


 C#에서의 메인함수(Main)
 
응용프로그램의 진입점(Entry Point), 닷넷 응용프로그램을 실행 시키는 런타임인 CLR(Common Language Runtime)은 프로그램 시작을 위해 Main 함수를 호출하게 되는데 Main 함수가 바로 프로그램의 진입점이 되는 것이다
 
위 예제에서 아래와 같이 Main 함수를 정의하였다.
 
static void Main(string[] args)
 
메인함수 첫글자 M
메인 함수의 첫글자 'M' 은 대문자이며 나머지는 소문자.
 
- static : Main함수가 static로 정의된 이유는 CLR에서 객체 생성없이 바로 메인함수를 호출하기 위해서이다.
 
- args 매개변수 : Main 메소드 안의 로컬 변수명으로 문자열(string) 배열을 정의하고 있는데 프로그램을 시작 시 Main 함수로 전달하고자 하는 값이 있는 경우 사용된다.  필요하지 않다면 생략해도 되고 반드시 args라고 해야 하는 것은 아니다.
 
- Return 타입 : 위 예제에서 Main 함수는 리턴값이 없는 void 형으로 정의되었는데 int도 가능하다. int형으로 정의할 경우에는 통상 종료할 때의 상태를 런타임(CLR)에 알려주기 위한 것인데반환 값이 int 형으로 정의되면 프로그램을 호출하는 쪽으로 자신의 상태 정보를 전달할 수 있다 
 
-      C# 응용프로그램 종료조건
C# 응용프로그램은 Main 함수의 실행이 끝나거나반환(return) 될 때 종료한다.
 
- Main 함수는 오직 한 개
하나의 C# 응용프로그램에는 하나의 Main 메소드만 있을 수 있다.


 

Comments