C# 맛보기입니다.

 

먼저 C#의 특징에 대해서 알아보겠습니다.

형식 안정적객체 지향 언어입니다.

○ 기존 프로그래밍언어의 생산성을 개선하여 성능이 굉장히 높습니다.

○ 현재 윈도, 맥, 리눅스, 안드로이드, 아이폰 등의 다양한 운영체제나 플랫폼에서 동작합니다.

○ 윈도에서 동작하는 닷넷 플랫폼과 대부분의 운영체제에서 동작하는 모노 플랫폼에서 작동하는 프로그램을 만들 수 있습니다.

 

라이브러리 vs 프레임 워크

라이브러리

코드를 쉽게 사용할 수 있게 미리 만들어준 코드

프로그램 소프트웨어를 만들 때 사용하는 클래스 또는 서부루틴의 집합

 

프레임 워크

제어 역전이 있는 대규모의 라이브러리

  ※제어 역전 : 원래 개발자가 제어하던 코드를 프레임워크가 제어하는 것

C#으로 할 수 있는 일 GUI개발, 웹 개발(ASP.NET 프레임워크, ASP.NET MVC), 게임 개발, IoT개발 등 여러 작업을 할 수 있습니다. 그런데 과연 C#이란 프로그래밍의 문법만을 배워서 개발을 할 수 있을까요? 아닙니다. 개발 도구도 필요하고 실행환경(Platform)도 필요합니다. 최소한 이 3가지가 있어야 개발을 할 수 있습니다. 그럼 개발도구에는 어떤 기능이 있을까요? 편집기능, 디버거, 컴파일/링크, 배포 등의 기능이 있습니다. 저는 개발도구로 Visual Studio2017 을 사용하며 실습을 진행하도록 하겠습니다.

그럼, Visual Studio를 사용할 때 솔루션과 프로젝트가 만들어지는데요. 솔루션과 프로젝트의 차이가 무엇이 있을까요? 프로젝트는 하나의 실행파일(exe)를 만들어내기 위해서 필요한 여러 개의 소스파일과 헤더 파일등을 하나로 묶어 놓는 것을 말합니다. 솔루션은

왜 솔루션이 있을까요? 작업을 할 때 파일이 이곳 저곳 여러군데에 나눠져 있다면 작업을 하는데 있어서 많은 불편함이 생깁니다. 그래서 관련있는 작업을 하는 프로젝트들을 모아서 하나의 솔루션에 담아두면 작업을 하는데 불편함을 줄여줄 수 있기 때문입니다. 그럼 가장 먼저 Hello World를 출력하는 방법에 대해서 알아보도록 하겠습니다.

 

Hello World 출력하기

program.cs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Hello
{
    class Program
    {
        static void Main(string[] args)
        {
            //한줄 주석입니다.
            Console.WriteLine("Hello World");

            /* 여

               러

               줄

               주

               석

            */

        }
    }
}

cs

 

콘솔창에 Hello World를 출력해보는 간단한 에제입니다. 콘솔창에 출력을 할 때에는 Console.Write()또는 Console.WriteLine()을 이용해서 출력할 수 있는데요 Console.WriteLine의 경우에는 출력이 끝난후 줄바꿈이 자동으로 실행되는 차이가 있습니다.

 

주석

주석의 방법은 두가지가 있습니다.

1. 한줄 주석 : //

2. 여러줄 주석 : /* 주석할 내용 */
1번의 경우 //뒤에 쓰여진 내용들이 주석처리 되고, 2번의 경우 /* 이 선언되고  */을 만나기 전까지의 내용들 모두를 주석처리해줍니다.

 

연산할 때 주의사항

정수끼리의 연산을 할 때 생각해야 할 부분이 있습니다. 예를 들어 10/4를 계산하면 2.5 의 값이 나오는데요 C#에서 정수끼리의 연산은 정수만 나올 수 있습니다. 그래서 2.5가아닌 2라는 정수라는 결과값을 가지게 됩니다. 그럼 정리해 보겠습니다.

정수+정수 = 정수, 정수 - 정수 = 정수, 정수*정수 = 정수, 정수/정수 = 정수 모두 결과값이 정수가 나옵니다

 

 

'Language > C#' 카테고리의 다른 글

1.C# 변수선언  (0) 2017.08.07

 

지금까지는 유니티에서 제공되는 컴포넌트만 사용해봤었는데요.

게임오브젝트에 어떤 컴포넌트가 추가되는지에 따라서 그 게임오브젝트의 역할이 달라졌습니다.

유니티에서 컴포넌트를 직접 구현하고 싶을때에는 스크립트라는 것을 이용하는데요.

스크립트는 C#, ,javascript 등의 프로그램언어로 원하는 기능을 구현하게 됩니다. 혹시나 프로그래밍을 모르시더라도 걱정하지 마세요.

C#은 따로 강의가 제공되니 C#강의와 왔다갔다 하시면 됩니다.

 

그럼 본격적으로 스크립트를 만드는 방법에 대해서 알아보겠습니다.

우선 프로젝트 뷰에서 우클릭을 누르고 Create -> C# Script를 눌러줍니다.

그리고 스크립트 파일의 이름은 Ball 이라고 정해주겠습니다.

 

 

C# Script 파일을 더블클릭하면 Visual Studio 가 실행되는데요. Visual Studio는 프로그램을 작성하기위한 외부 프로그램입니다.

이제 스크립트를 확인해 보겠습니다.

 

 

우선 Ball 이라는 클래스가 보입니다. 클래스는 코드를 모아놓는 기본단위라고 기억하면 됩니다.

옆의 MonoBehaviour 는 유니티에서 클래스를 만들면 기본적으로 적어주어야 하는 코드라고 알고 있으면 됩니다.

그리고 void Start() 안에 코드를 작성하면 게임이 시작될 때 한번 실행되고

    void Update() 안에 코드를 작성하면 매 프레임마다 실행됩니다.

프레임은 영화에서 사용하던 용어인데요. 여러장의 사진을 빨리 넘겨서 보여주면 영화나 만화가 되죠? 그 여러장의 사진 한장한장을 프레임이라고 하는데요 유니티에서 공이 굴러가는것도 사실 매 프레임마다 공의 위치를 옮겨서 화면에 그려줘서 구현이 되는겁니다.

void Update() 에 코드를 넣으면 그 코드가 매 프레임마다 실행되면서 다양한 게임의 로직을 구현할 수 있습니다.

 

우선은 Start() 와 Update() 가 어떻게 동작하는지 알아보기 위해서 로그를 한번 찍어보겠습니다.

먼저 Start() 안에 Debug.Log("Start"); 를 입력해줍니다.

 

이렇게 입력을 해주고 저장을 해줍니다. 저장은 컨트롤S를 누르시거나 저장아이콘을 누르시면 됩니다.

위 코드는 Start라는 문자열을 콘솔에 찍어라 라고 하는겁니다.

 

 <<<< 저장하기

 

그리고 유니티로 돌아와서 게임을 실행해서 확인해 보겠습니다.

로그를 보기위해서 콘솔창을 열어줘야하는데요 콘솔창은 유니티의 메뉴에 window를 누르면 맨 아래에 console이 있습니다.

혹시나 못찾으시는 분들은 컨트롤+쉬프트+c 를 눌러주면 콘솔창을 볼 수 있습니다.

콘솔창이 나타났다면 게임을 실행해볼까요?

 

<5.콘솔창>

 

실행했더니 아무것도 나오지 않았네요. 사실 스크립트를 게임 오브젝트에 적용을 해줘야 스크립트가 실행이 됩니다.

그래서 Ball 스크립트를 눌러 끌고가서 게임오브젝트 Ball에 놓아줍니다. 그럼 Ball에 스크립트가 적용된게 보입니다.

스크립트는 원하는 게임오브젝트에 추가해주면 됩니다. 그리고 추가한 스크립트는 언제든지 삭제가 가능합니다.

그리고 실행을 하면 콘솔창에 Start가 게임시작할때 한번 찍히는게 보일겁니다.

 

<6.볼슼적용>

 

이번에는 Update() 에도 로그를 찍게 만들어 보겠습니다. 그런데 Update()는 매 프레임마다 실행된다고 했었죠? 

그래서 count라는 변수를 하나 선언해서 몇번이나 실행되는지 확인해 보겠습니다.

 

<7.Update>

 

콘솔 뷰를 보면 Clear가 있는데 Clear를 누르면 콘솔창이 깨끗하게 정리됩니다.

그리고 Clear on Play를 누르면 실행할 때 마다 콘솔창을 깨끗하게 만든후 실행하게 됩니다.

그럼 실행해 보겠습니다.

 

<8.Update>

 

콘솔을 보시면 맨처음에 스타트가 호출되고 Update옆의 숫자가 증가하면서 출력되는걸 확인해 볼 수 있습니다.

 

스크립트를 만드는 방법이었습니다.

 

끝!

 

오늘은 C#에서의 변수선언에 대해서 알아보겠습니다.

변수는 프로그래밍에서 기초중의 기초입니다. 그럼 변수가 무엇이냐?

변수는 값을 저장하는 박스라고 생각하면 됩니다. 그런데 이 박스에는 타입이 정해져있습니다.

남자화장실에는 남자만 여자화장실에는 여자만 들어가게 약속된 것처럼 변수에는 맞는 타입에 값만 들어가야합니다.

박스가 정수타입이라면 정수만 들어갈 수 있고

박스가 소수타입이라면 소수만 들어갈 수 있고

박스가 문자열타입이라면 문자열만 들어갈 수 있습니다.

그리고 박스는 이름을 갖는데요 이름은 알기 쉽도록 정하는게 좋습니다.

만약에 정수타입에 나이를 넣겠다면 변수의 이름을 age로 정하면 이 변수를 보고 나이를 넣었구나 알 수 있을겁니다.

이렇게 박스를 준비하는 과정을 변수를 선언한다고 하는데요 컴퓨터에 박스를 준비하는 명령을 어떻게 내리는지 보겠습니다.

컴퓨터에 명령을 내리는걸 '코드를 짠다' 혹은 '코딩한다' 라고 합니다. 그럼 변수를 선언하는 코드를 짜보겠습니다.

먼저 유니티를 실행시키고 프로젝트 뷰에서 우클릭을 해줍니다. 그리고 Create -> C# Script 를 선택해줍니다.

프로젝트 뷰에 스크립트를 만들었다면 더블클릭을 해서 스크립트를 열어줍시다.

잘 만들었나요?

그러면 class라고 쓰여 있는 아래부분에 변수를 직접 선언해보겠습니다.

1
2
3
    int age = 24;
    float height = 24.1f;
    string myName = "백자까";
cs

int 는 integer의 약자로 정수형을 뜻합니다.

float은 실수형을 나타내는데요 float형은 값을 넣을때 숫자뒤에 반드시 f를 붙여줘야 합니다. 정해진 약속이기 때문입니다.

string은 문자열타입이라는걸 알려줍니다. 그래서 문자열을 담을 수 있는데요 컴퓨터는 "  "안에 든것을 문자열로 취급합니다.

간단하죠? 

그럼 간단히 변수들의 타입에 대해서 확인해보겠습니다.

정수형 : byte, short, int, uint, long, ulong

실수형 : float, double

문자열 : string

불린형 : boolean

그리고 변수의 이름을 설정할 때의 주의사항이 있습니다.

1. 첫글자는 영문자, 밑줄(_)만을 사용할 수 있습니다.

2.숫자는 쓸 수있지만 첫글자로는 사용불가능합니다.

3.키워드는 식별자로 사용할 수 없습니다.

4.대소문자를 구분해서 사용해야합니다.


모두 이해하셨다면 유니티 강의를 이해하는데 큰 무리는 없을 겁니다. 

5. 유니티 스크립트

끝!

'Language > C#' 카테고리의 다른 글

1.C# 맛보기  (0) 2017.09.07

+ Recent posts