조회 수 881 추천 수 1 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

Hello, World!

 Hello, World!가 뭐냐구요? 수 많은 프로그래밍 기본서에서 쓰고있는 마법의 문장입니다. 주로 콘솔(명령프롬프트나 DOS를 사용할때 나오는 검정색 화면을 말하는겁니다.)에 출력하는 예제를 자주 작성하죠. 국어로 따지자면 가나다라마바사~같은 거죠.


 C#에서는 다음과 같이 작성됩니다.

using System;

 

namespace Tutorial

{

    class HelloWorld

    {

        string hello = "Hello, World!";

       

        public static void Main()

        {

            Console.WriteLine(hello);

        }

}

 콘솔 결과: Hello, World!

소스를 분석하자

 사실 첫장에서부터 이런짓을 하는건 무의미합니다. 왜냐하면 이미 프로그래밍을 접해서 어느정도 짐작을 할 수 있는 사람도 있지만, 아에 아무것도 몰라서 짐작조차 못하는 사람이 있기 때문입니다.

 귀찮다면 이 편은 넘어가서도 좋습니다.

시작점

 C#의 시작점은 어디일까요? 다른 언어를 미리 접해본 분들은 아시겠지만 'public static void Main()' 이 부분입니다. 그 다음에 '{'가 붙고 그 다음 'Console.WriteLine(hello);'가 오는걸 볼 수 있습니다.

블럭

 블럭은 '{'와 '}'를 사용해서 열고 닫을 수 있습니다. 주로 내부에 소스코드가 들어가는 문장 바로 뒤에 들어갑니다.

변수

 프로그래밍의 알파이자 오메가중 하나인 변수는 'string Hello = "Hello, World!";'을 통해 알아보죠. 먼저 string은 변수 형식을 뜻하고 반드시 변수의 이름 앞에 옵니다. Hello는 당연히 이름이구요. 'Hello, World!'라는 문장이 = 키워드를 통해 Hello 변수에 저장되고 있음을 알 수 있습니다.

메서드

 메서드를 설명해드리자면 '명령의 집합'입니다. 언제든 호출이 가능하고 선언할 수 있습니다. 위 소스코드를 예로 들자면 Main메서드에서 Console클래스의 WriteLine이라는 메서드를 호출 하고 있는 것을 볼 수 있습니다. 잘~찾아보세요.

클래스

 클래스는 대충 객체라는 것을 만드는 설계도라고 보시면됩니다. 하지만 아직 여러분은 이 녀석을 받아들일 준비가 되지 않았습니다. 대충 요런 녀석이 있다는 것만 알아두시고, C#에서 반드시 작성해 놓고 변수와 메서드를 작성해야한다는 것을 명심하세요.

네임스페이스

 이름공간이라고 직역되는 경우도 있습니다만... 보통은 네임스페이스라는 용어를 더 자주 씁니다. 네임스페이스는 클래스를 모아두는 일종의 폴더역할을 합니다. 클래스의 이름이 겹칠경우 둘을 분리해주는 역할도 하지요. 따라서 굳이 네임스페이스를 만들 필요는 없지만 실제 프로그래밍시에는 네임스페이스를 만들어 두는것이 좋습니다. 네임스페이스안에 네임스페이스를 만들어야할 경우에는 간단하게 부모네임스페이스 이름뒤에'.'을 붙히고 쓰고싶은 이름을 적으면됩니다. 예를들어 System.Text처럼요.


 맨 위에서 'using System;'을 작성해둔 까닭은 Console클래스를 사용하기 위해서입니다. 만약 using System;을 쓰지 않았다면 'System.Console.WriteLine(hello)'를 모두 다써야하는데요. 한번만 사용할 경우에는 괜찮지만 대단히 많이 사용할 때는 좀 심각해집니다. 쓸때도 귀찮고 소스 코드가 대단히 지저분해지거든요. 그래서 자주 사용될 네임스페이스는 using을 통해 생략을 합니다.

?
  • ?
    끄를 2015.04.15 08:24
    좋은 글 감사드립니다 : )

List of Articles
번호 제목 글쓴이 날짜 조회 수 추천 수
128 게임 만들 때 처음에는 쉽고 간단하게 만드세요. 1 RPG란무엇인가? 2017.07.25 1001 0
127 네코플레이어에 게임 넣는 법 file 천둥번들 2016.05.15 4848 0
126 델군만의 게임음악을 효과적으로 배치하는 방법 2 델군 2016.02.17 1544 1
125 인텔 XDK로 빌드할때 주의사항(팁) 1 백난화백 2016.02.15 1746 0
124 현재 대중화된 툴들의 장/단점을 비교해 봤다. 2 RPG란무엇인가? 2015.11.12 382 0
123 특별한 게임제작 특강! '게임제작, 어렵지 않아요!' 3 수퍼말이오 2015.10.28 371 0
» C#의 기본 초급.1 - Hello, World! 1 맛난호빵 2015.04.13 881 1
121 C#의 기본 - 빛이 있으라 1 맛난호빵 2015.04.13 686 0
120 공포게임을 여러개 플레이해 보며 부족했던 점. 2 일베디져 2014.09.28 1024 1
119 모바일 구동 불가 게임 하기 2 일베디져 2014.09.28 1261 0
118 구글 드라이브 다운로드 이용 빙냥이 2014.09.08 1217 0
117 「게임제작의 여러가지 파트들」 3 사요쿠냥 2014.04.01 1115 1
116 짬TIP 9. RPGXP? RPGVX? 어느 툴이 좋을까? 13 마니아 2013.09.15 3963 0
115 짬TIP 8. 게임 업로드 추천 사이트 6 마니아 2013.09.15 2352 1
114 짬TIP 7. 게임을 만들고 싶은데 정보/자료가 많은 사이트는 없나요? 4 마니아 2013.09.14 3118 2
113 짬TIP 6. 안전하게 암호화하는 방법은 없을까? 11 마니아 2013.09.14 2669 0
112 짬TIP 5. [게임 이름] 도대체 무엇으로 지어야 하나? 14 마니아 2013.09.14 2394 11
111 짬TIP 4. 내 게임을 조금 더 빠른 속도로 진행하게! 6 마니아 2013.09.14 2344 2
110 짬TIP 3. RMXP 런타임 없이도 게임을 할 수 있게 하자! 1 마니아 2013.09.14 2136 1
109 짬TIP 2. RMXP의 숨겨진(?) 맵 배치 기능 5 마니아 2013.09.14 2402 2
Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7






[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)