본문 바로가기

C#/C# 기초 강의

C# 프로그래밍 강좌 2 - Hello World! 코드 살펴보기

728x90
728x90

이 게시글에서는 프로젝트를 생성했을 때 나오는 코드를 간단히 알아보는 시간을 가질 것이다.

 

이전 게시글을 통해 프로젝트를 생성했으면 다음과 같이 생긴 코드가 여러분을 맞이할 것이다.

using System;

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

 

여기에 쓰여진 것들이 무엇을 의미하는 걸까? 하나씩 알아보자.

들어가기 전에

프로그래밍을 처음 배우는 사람이라면 온전한 이해가 어려울 수 있다. "그냥 이렇다는 거구나" 라고만 생각하고 넘겨도 나중에 공부하면서 자세히 알아갈 수 있으므로 간단히 참고한다는 마음으로 보면 된다.

키워드(Keyword)

코드를 보면 using, namespace, class 같은 단어들이 있는 것을 볼 수 있다.

 

이런 단어들은 프로그래밍 언어에서 특정 역할이나 정의를 나타내는 단어로 생각하면 된다.

 

키워드에 관해서 나중에 변수를 공부할 때 다시 한번 더 언급하겠다. 지금은 코드에 있는 키워드를 가볍게 살펴보자.

using

using System;

위 코드에서 쓰이는 using 키워드는 using [네임스페이스] 로 작성되어 있으며 using 뒤에 오는 이름을 가진 네임스페이스에 속한 코드들을 그냥 쓰겠다는 뜻이 된다.

 

맨 끝에 붙는 세미콜론(;)은 컴파일러에게 코드 문장의 끝을 알린다. 세미콜론이 없다면 컴파일러가 문장의 끝이 어디인지 알 수 없으므로 에러가 발생한다.

 

네임스페이스는 지금에서는 이미 있는 코드를 묶어놓은 것이라고 생각하면 된다. 위 코드는 System이라는 이름의 네임스페이스를 사용한다는 뜻이 된다.

 

네임스페이스를 쓴다는 뜻은 using System;을 붙이지 않으면 처음의 코드를 다음과 같이 써야 한다.

 

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

 

Console.WriteLine을 System.Console.WriteLine으로 쓰는 차이를 보인다.

namespace

namespace trainground {}

그렇다면 이제 namespace 키워드가 무슨 일을 하는지 감을 잡았을 것이다.

 

작성한 코드들을 특정 네임스페이스에 소속시키는 것이다. 위 코드에서 trainground라는 네임스페이스를 만들어서 중괄호로 묶은 것을 볼 수 있다.

 

위 코드에서 System 네임스페이스에 속한 코드를 사용하듯이 같은 프로젝트로 묶인다면 trainground. 으로 trainground에 소속된 코드를 사용할 수 있다.

 

지금은 C# 프로그래밍을 하기 위해 네임스페이스로 묶어주는 것이 필수인 정도로 생각하면 된다.

코드 블록

코드를 살펴보면 중괄호로 코드의 일부를 감싸는 것을 볼 수 있다.

 

이렇게 중괄호로 감싸진 영역을 코드 블록이라고 부르며 이 블록 안에 적혀진 코드는 해당 블록에서만 유효하다는 것을 나타낸다.

 

위 네임스페이스의 경우 trainground로 감싸진 코드들만 trainground 네임스페이스의 코드로 사용될 수 있다는 의미가 된다. 뒤에 언급할 다른 키워드에 대해서도 마찬가지다.

class

class Program {}

프로젝트를 처음 생성하게 되면 Program이라는 이름의 클래스가 생성되어 있다.

 

여기서 클래스는 클래스 메소드나 멤버 변수 등을 담는다.

 

프로그래밍을 처음 배우는 단계에서는 class가 namespace의 하위호환이라 생각하면 된다. 네임스페이스가 클래스들을 묶어주는 역할을 한다고 봐도 좋다.

Main 메소드

static void Main(string[] args) {}

메소드는 특정 코드를 묶은 것이다. 클래스에 소속되며 클래스의 메소드를 실행하면 메소드에 속한 코드들이 실행된다.

 

그 중에서도 Main 메소드는 컴파일된 프로그램을 실행하면 호출되는 메소드를 의미한다. Main 메소드에서 다른 네임스페이스나 클래스를 사용하게 되는 것이다.

 

따라서 코드를 컴파일하고 실행하기 위해서는 Main 메소드가 반드시 있어야 한다.

 

static, void같은 키워드나 소괄호 안에 있는 것들은 나중에 배울 예정이니 Main 메소드는 저런식으로 작성해야 된다 정도로 알고 있자.

WriteLine

Console.WriteLine("Hello World!");

콘솔 창(여러분이 프로그램을 실행할 때 나타나는 그 검은색 창)에 입력된 내용을 출력시키는 메소드이다.

 

다음에 이 출력하는 메소드에 대해 자세히 공부할 것이다.

 

처음에도 말했듯이 여기 쓰여진 모든 것들을 이해할 필요가 없다. 앞으로 배우면서 상세히 이해할 수 있으니 이 게시글에 오랜 시간을 낭비하지 말고 학습을 계속하면 된다.

728x90
728x90