Creative Commons License

Microsoft .NET

닷넷!시작하기
닷넷! Ver 2.0~
닷넷!스킬업
웹개발
윈폼개발
실용모듈개발
Tip & Tech
하루 한 문법

Microsoft .NET 개발자들을 위한 공간입니다. 기초강의에서 부터 고급 기술 정보 및 팁등을 다루도록 하겠습니다.

.

닷넷!시작하기

Microsoft. NET 을 시작하는 분들을 위한 강좌입니다. 주로 기초적인 내용과 때론 기본적인 내용을 다룹니다

C# 시작하기 (Main함수,주석)

작성자 : 박종명
최초 작성일 : 2008-06-30 (월요일)
최종 수정일 : 2008-06-30 (월요일)
조회 수 : 8789

C#은 닷넷을 위해 마이크로스프트에서 새로 개발한 프로그래밍 언어입니다.
C#의 언어 구조적 특징은 C 스타일과 유사합니다.

앞서 닷넷 프레임워크를 설명할 때 언급한데로 닷넷 프레임워크는 개발자를 위한 다양한 언어를 지원합니다.
C# 이외에도 기존의 개발자들을 위한 VB.NET, J#,C++.NET 등을 개발언어로 사용할 수 있습니다.

그러나 대체로 닷넷을 위해 새롭게 탄생한 C# 을 권장합니다.
그리고 현재 닷넷을 기반으로 하는 현장의 다양한 프로젝트에서도 C#언어의 채택이 대부분 이라고 보여집니다.

물론 어떤 언어를 선택하든 닷넷은 하나의 IL코드로 만들기 때문에 결국 같은 결과물입니다(언어 독립성)

앞으로 진행되는 기초 강좌 역시 C#으로 설명될 것입니다.

그럼 C#을 시작하기 위해 알아야 할 기초적인 내용을 살펴 봅시다


* Hello World

1) 코드 작성
모든 프로그래밍 언어 입문에서 사용되는 '헬로우 월드(Hello World!)' 프로그램을 C#으로 작성해 보겠습니다

'' '헬로우 월드(Hello World!)' 샘플은 간단한 형태의 응용프로그램을 만들어 봄으로써 언어의 필수적인 구조와
기본적인 특징을 가장 빨리 습득할 수 있도록 하는, 언어를 처음 배울 때 보편적으로 사용되는 시작 샘플입니다"

메모장을 열어서 다음과 같이 작성하여 파일명을 HelloWorld.cs 로 저장합니다

class Program

{

      static void Main(string[] args)

      {

          System.Console.WriteLine("Hello World!");

      }

}


2) 컴파일

그리고 Visual Studio 2005 명령프롬프트에서 다음과 같이 컴파일 합니다.



컴파일을 하면 해당 디렉터리에 HelloWorld.exe 가 생깁니다.
주의할 것은 이렇게 생성된 결과물인 exe 파일이 실행파일은 아닙니다.
이전에 설명한대로 이 파일은 중간언어(IL) 로 컴파일 된 결과물 입니다. 실제 실행 시 에 JIT 컴파일러에
의해 비로쏘 원시코드로 컴파일 됩니다.

닷넷 응용프록램의 실행 구조를 자세히 설명한 다음의 링크를 참조하세요
--> 닷넷기반 응용프로그램 실행 구조


3) 실행
명령프롬프트에서 다음과 같이 입력하고 Enter 쳐 보세요

우리가 작성한 대로 화면에 'Hello World!' 가 표시되었습니다.


* C# 응용프로그램의 기본 구조

앞서 살펴본 Hello World! 샘플을 통해 C#응용프로그램의 기본적인 구조에 대해 알아 보겠습니다.

1) 클래스(Class)
닷넷 응용프로그램은 하나 이상의 클래스들의 집합으로 이루어 집니다.
Hello World! 샘플에서 class Program 라고 클래스를 하나 정의하였습니다.

2) Main 함수

응용프로그램의 진입점

프로그램을 실행하기 위해서는 진입점(프로그램 시작점)이 있어야 합니다.
닷넷 응용프로그램을 실행 시키는 런타임인 CLR(Common Language Runtime) 은 프로그램 시작을 위해 Main 함수를 호출하게 됩니다. 즉 Main 함수가 바로 프로그램의 진입점이 되는 것입니다.

우리의 샘플에서는 다음과 같이 Main 함수를 정의하였습니다.

static
void Main(string[] args)

대문자 'M'
위에 정의된 대로 Main 함수의 'M' 은 대문자 이어야 한다. 그리고 나머지는 소문자이다
대소문자를 정확히 맞추지 않으면 컴파일 에러를 발생시킨다

static 함수
Main함수가 static로 정의된 이유는 객체를 생성하지 않고 바로 함수를 호출하기 위해서 입니다.
(static 키워드는 다음에 자세히 알아 봅니다)

매개변수
그리고 함수의 매개변수로 문자열(string) 배열을 정의하고 있습니다. 이것은 프로그램을 시작할 때 전달 할 값이
있을 경우 사용되는 매개변수 입니다.
매개변수가 필요치 않다면 매개변수 없이 Main 함수를 정의해도 됩니다(static void Main())

반환 타입
위에 정의된 Main 함수는 반환값이 없는 void 형으로 정의되었습니다.
Main 함수의 반한 형식은 이처럼 void 이거나 int 형으로 정의할 수 있습니다.

int 형으로 정의할 경우에는 통상 종료했다는 정수를 런타임에 알려주도록 합니다.
반환 값이 int 형으로 정의되면 프로그램을 호출하는 프로그램으로 자신의 상태 정보를 전달할 수 있다는 장점이 있습니다. 그러나 필요치 않을 경우에는 void로 하는 것이 편리합니다.

응용프로그램의 종료조건
실행중인 응용프로그램은 Main 함수의 호출이 완료되거나 반환(return) 될 때  종료하게 된다

오직 하나의 Main 함수
마지막으로 하나의 응용프로그램에는 하나의 진입점만 있을 수 있습니다. 다시 말해 하나의 프로그램에는
하나의 Main 함수만 정의 가능하다는 말입니다.


3) 문자열 출력
Main 함수에는 다음과 'Hello World!' 를 출력하도록 하였습니다.

System.Console.WriteLine("Hello World!");

Console 이라는 클래스는 닷넷의 Library의 System네임스페이스에 미리 정의된 클래스 입니다.
이 클래스는 콘솔창을 추상화 한 클래스로써 콘솔을 통한 표준 입/출력을 가능토록 정의되어 있습니다.
우리의 예제에서는 System 네임스페이스의 Console 클래스의 WriteLine 메서드를 통해 'Hello World!'를
출력하도록 하고 있습니다.

4) 프로그램 종료
Main 함수의 호출이 완료되면 프로그램은 자동으로 종료 됩니다.
우리 예제에서는 문자열 출력 이후 특별히 다른 작업이 없기 때문에 바로 Main 함수의 호출이 완료되며
프로그램도 종료됩니다.


* 주석

주석은 프로그램 코드에 유용한 정보를 기록함으로써 프로그램 코드의 가독성을 향상 시킵니다.
몇 천 혹은 몇 만 라인의 코드에 코드 설명을 위한 주석이 없다면 프로그램을 해석하기 위해서는 코드에만
의존해야 합니다. 비록 자신이 작성한 코드라고 할지라도 주석이 없다면 몇 개월 후에 다시 보았을 때 해석하기
힘든경우가 많습니다. 주석은 프로그램의 필수 구성요소는 아니지만 반드시 필요한 부분임에는 틀림없습니다.
C#에서는 주석을 다음과 같이 작성합니다.

1) 한 라인 주석
//코드 설명입니다

2) 다중 라인 주석
/*
  코드 설명입니다
  코드 설명입니다
*/

/*

 Hello World! 문자열을 콘솔창에 출력하는 샘플

 프로그램의 기본 구조 파악을 위한 샘플

*/

class Program

{

    //응용프로그램의 진입점

    public static void  Main()

    {

        System.Console.WriteLine("Hello World!");

    }

}

 

∵Commented by JosephMoon at 2014-10-15 오전 1:00:20  
학교에서 배웠던 C언어가 새록새록 떠오르네요^^
이름
비밀번호
홈페이지
UQ <- 왼쪽의 문자를 오른쪽 박스에 똑같이 입력해 주세요