'프로그래밍일지 (고등학생 - 인문계)/C#'에 해당되는 글 4건

이렇게 나와있는 사진을 보시게 된다면 class 옆에 TestScript 라고 명시되어 있습니다.

그럼 저 TestScript 는 클래스의 이름이 되겠군요

흡사 C언어의 int또는 그런 함수를 만들어 낼때 함수의 이름을 정하는 방식과 유사하다고 볼 수 있을 것 같습니다.

아무튼 그러면 이제 8번째 줄과 13 번째 줄의 의미를 간단하게 나마 알아보도록 하겠습니다.

8번 째 줄은 이 클래스가 실행됨과 동시에 시작을 하는 것입니다.

그리고 13번째의 줄은 프레임당 실행을 하는 것입니다.

아까 제가 C언어에서의 함수 이름을 정할때와 유사하다고 하였습니다.

그 이유는 제가 만들고 있는 1세대 게임인 civil war remastered 의 소스를 보신다면 아실 수 있을 겁니다. ( 해당 프로그램은 오픈소스입니다. 확인을 해보시고 유저 패치를 해도 좋으나 저작권 표시는 해주시면 감사할 것 같습니다. )

그러면 제가 다시 한번 거론한 이유는 여기서의 함수는 Start()와 Update()가 됩니다. void는 C언어와 같이 void형 선언이라고 생각이 됩니다.

일단 이번에는 아무런 X값(수학적 의미로 설명) Y값(수학적 의미로 설명)이 필요하다고 생각되지 않습니다.

그래서 공란인 void를 사용하였습니다.

처리내용은 C언어와 비슷하게 { } 이 괄호 안에 입력을 할 예정입니다.

참고로 파일이름과 클래스 명은 일치해야 합니다.

물론 유니티 기준입니다.

'프로그래밍일지 (고등학생 - 인문계) > C#' 카테고리의 다른 글

값을 담아 보자!  (0) 2018.03.21
본격적인 시작을 하자 Hello World!  (0) 2018.03.15
대규모 서론  (0) 2018.03.14
블로그 이미지

이사가는 사람

안녕하세요 블로그를 옮기려고 생각하고 있습니다. 해당 블로그는 폐기하고 다음 다른 블로그에서 뵙도록 하겠습니다. 감사합니다!

,

자 C언어에서는 배우지 않았던 것을 배워 볼까 합니다.

C언어에서 배운 것은 int와 void(생략가능)이 전부 였습니다.

하지만 C#에서는 byte, sbyte, short, ushort, int, uint, long, ulong, char이렇게 다양한 선언이 존재합니다.

그러면 간단하게 각각이 무엇을 뜻하게 되는 것인지를 알아보는 것으로 합시다.

일단 char을 빼고는 전부 숫자를 저장하는 변수 선언 입니다.

그러면 왜?? 이렇게 많은 것을 필요로 하는지???에 관하여 설명을 하도록 하겠습니다.

프로그래밍을 할때 메모리를 신경쓰고 작성을 하고 그럽니다.

변수를 선언을 하면 공간을 만들게 되는데 이것을 통하여 사용할 메모리 용량을 배정받고는 합니다.

그래서 일단 이렇게 다양하게 존재하는 것 입니다.

byte 는 0~255까지의 값을 저장할 수 있게 합니다.

sbyte는 -128~127까지의 값을 지정할 수 있게 합니다.

short는 -32,768~32,767까지의 값을 지정이 가능합니다.

ushort는 0~65,535사이의 값을 지정합니다.

int는 가장 흔한 선언인데 -2,147,483,648~2,147,483,648사이의 값을 저장합니다.

uint는 int의 범위랑 비슷합니다. 물론 0에서 시작을 하지만요.

그래서 범위는 0~4,294,967,296인데 이제 슬슬 짐작이 가시리라고 생각을 합니다.

long는 -922,337,203,685,477,508~922,337,203,685,477,508의 사이에 존재하는 값을 저장할 변수를 선언하는 것 입니다.

ulong은 922,337,203,685,477,508이거의 두배가 되는 것이겠죠??

0~1,844,674,407,370,955,016의 사이의 값입니다.

마지막으로 아까 말을 하였던 char입니다.

유니코드를 저장하는데 유니코드라는 것은 한글이나 그런 문자같은 것을 저장하는 것을 말합니다. 문양같은 것도 해당이 되겠지요.

자 이제 하나씩 사용을 해봅시다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using System;
namespace static_ex {
  class MainAp {
    static void Main(string[] args) {
      sbyte a = -30;
      byte b = 85;
      Console.WriteLine("a={0}, b={1}", a, b);
      short c = -23451;
      ushort d = 32452;
      Console.WriteLine("c={0}, d={1}", c, d);
      int e = -35626943;
      uint f = 234513593;
      Console.WriteLine("e={0}, f={1}", e, f);
      long g = -342649240561;
      ulong h = 3294058249501859403;
      Console.WriteLine("g={0}, h={1}", g, h);
    }
  }
}
cs

자 이런식으로 선언이 전부 가능합니다.

선언을 하게 되면 출력은 전부 이렇게 나옵니다.

그래서 여기서 궁금한 것이 생깁니다. byte에 256의 값을 저장한다면?? 어떤일이 벌어질까요??

오류코드가 뜹니다. 할 수 없다고요.... 네 못합니다.

그러면 저는 이만 가보도록 하겠습니다.

블로그 이미지

이사가는 사람

안녕하세요 블로그를 옮기려고 생각하고 있습니다. 해당 블로그는 폐기하고 다음 다른 블로그에서 뵙도록 하겠습니다. 감사합니다!

,

모든 프로그래밍 언어가 그렇듯 항상 'Hello World!'로 시작을 합니다.

그래서 이번에도 Hello world! 로 시작을 하도록 하겠습니다.

1
2
3
4
5
6
7
8
9
10
11
12
using System;
 
namespace Ex
{
  class HW
  {
    static void Main(string[] args) 
    {
      Console.WriteLine("Hello World!");
    }
  }
}
cs

이렇게 소스 코드를 작성 하였습니다.

제가 기존에 C언어를 진행하면서 여러가지를 설명해 드렸습니다.

C언어보다 ++된 것이 C++이며 이 C++보다 ++된 것이 C#입니다.

그러니 C언어에서 2번 나아진 언어라고 볼 수 있고, 이러한 언어를 유니티에서 사용을 하기 때문에 이렇게 C#을 진행하게 되었다라고 하는 것도 과언이 아닙니다.

아무튼 이제 이 소스코드를 전부 옮기셨을 것이라고 생각을 하기 때문에 저는 이 소스코드를 해부해 보도록 하겠습니다.

먼저 1번줄인 using System;을 보면

영어의 뜻을 생각하면 편합니다.

C언어와 마찬가지로 세미콜론은 그 줄을 마친다라는 의미를 가집니다.(다음 줄로 넘어가라라는 의미)

using은 미리 정의를 내려버린 키워드라는 녀석입니다.

그리고 다시 1번 줄을 보자면 System을 사용한다 라는 말이 됩니다.

그러면 System이라는 것이 무엇이 되는가?? 이것이 궁금해 지리라고 저는 믿습니다.

System이라는 것은 숫자나 텍스트와 같은 데이터를 다룰 수 있는 기본적인 데이터 처리 클래스를 비롯한 C#코드가 기본적으로 필요로 하는 클래스를 담고 있는 네임스페이스입니다.

(단어 설명들 입니다.)


그래서 using System; 이라고 한 것은 컴파일러에게 네임스페이스 속 클래스를 사용하겠다고 컴파일러에게 알리는 역할을 합니다.

3번줄과 같은 네임스페이스(엔에스 또는 ns)를 만들때는 'namespace 키워드'를 이용하며, ns_이름 뒤에 따라오는 {와 } 사이에는 이 ns에 소속되는 클래스 등이 들어갑니다.

1
2
3
4
5
6
namespace ns
{
  //클래스
  //구조체
  //인터페이스 등등
}

그래서 Ex라는 ns에 HW클래스를 담는 것입니다.

다음은 class HW를 보도록 하겠습니다.

아까 말을 하였듯이 ns에 class(이하 클)가 들어갑니다.

위에 ns를 설명할 때 사용하였던 설명을 보시면 클이 들어가 있는 것이 보이시리라고 생각을 합니다.

그리고 마지막으로 '//'인 주석에 대하여 설명을 하고 이번 강좌를 마치겠습니다.

//는 주석이라는 것으로 주석은 모든 프로그래밍 언어에서 여기서 부터 줄이 바뀔 때까지 나오는 문장은 사용을 하지 않아 라는 의미를 담고 있습니다.

메소드는 따로 설명을 드리도록 하겠습니다.

저는 이만 가보겠습니다.

블로그 이미지

이사가는 사람

안녕하세요 블로그를 옮기려고 생각하고 있습니다. 해당 블로그는 폐기하고 다음 다른 블로그에서 뵙도록 하겠습니다. 감사합니다!

,

c#강좌를 시작하기에 앞서서 그냥 간단하게 대규모 서론...?을 한번 해보려고 합니다.

C#을 해야겠다고 느끼게 된 이유는 그냥 간단합니다.

게임을 만들려고 유니티를 키니 C#만 지원하겠다고 하더라구요.

그러한 이유로 아... C#을 하자

이렇게 되었던 것이구 이왕 나 배우는데 나혼자 배우는 것 보다.

독학으로 하면서 블로그에 강좌를 올리는 것은 어떠한가?? 하고 생각이 들어서 올리게 되었습니다.

그런데 생각을 해보니 C#을 하기 전에 C언어를 해야겠더라구요.

자바를 하던 파이썬을 하던 C#을 하던 상관은 없습니다만.

왜 굳이 C#이 아닌 C부터 시작을 했어야 했는지 그것을 설명하도록 하겠습니다.

C#이던 파이썬이던 자바던 사람들이 C언어의 단점을 매우고 보다 더 간편한 프로그래밍 언어를 사용하고자 개량을 한 것이 C#과 파이썬 이런 언어들입니다.

솔직히 생각을 해 보세요.

C가 기초고 C#이 중급반입니다.

그런데 기초도 없는 사람이 과연 C#을 이해하고 활용이 가능할까?? 하는 생각이 들었습니다.

그래서 저는 매우 당연하게도 C언어를 먼저 시작을 하였던 것이고

조만간 C언어가 기초코스가 끝이 납니다.

그래서 저는 여러분들에게 슬슬 C#을 시작해도 상관없지 않을까?? 하고 생각을 합니다.

그러면 저는 이만 가보도록 하겠습니다.

앞으로 올라올 많은 C#강좌들을 보시면서 더욱 다양한 프로그래밍 언어를 접해 보셨으면 하는 바렘이 있습니다.

블로그 이미지

이사가는 사람

안녕하세요 블로그를 옮기려고 생각하고 있습니다. 해당 블로그는 폐기하고 다음 다른 블로그에서 뵙도록 하겠습니다. 감사합니다!

,