본문 바로가기
Unity 3D

Unity C# 문법 (1)C#이란? 변수, 자료형

by 연꿈술사 2023. 7. 28.

안녕하세요 연꿈술사입니다.

 

오늘은 Unity 3D 에서 사용되는 C# 문법 첫 번째 파트입니다.

 

C# 언어의 특징

 

1. 안정적인 객체 지향 언어입니다.

2. 기존 C, C++ 언어에 비해 생산성을 높인 언어입니다.

3. 마이크로소프트사가 만든 .NetFramework 위에서 동작하며, 이가 있으면 OS에 상관없이 사용가능합니다.

4. C#은 모바일 응용 프로그램, 유니티 2D, 3D, XR, VR, AR 등 여러 곳에 사용됩니다.

 

Unity3D 기본화면

위는 Unity 3D를 통해 C# Script를 프로젝트 상에서 만들고 실행시키면 나오는 첫 화면입니다.

using UnityEngine; 을 통해 유니티엔진에서 만들어진 것들을 사용할 수 있게 됩니다.

한 Script당 하나의 class를 사용하며, 만들어진 class는 :을 통해 MonoBehaviour의 상속을 받습니다.

MonoBehaviour는 Unity 엔진의 Base Class로, 스크립트 사용을 위해 C#으로 만들어놓은 클래스입니다.

이를 상속받음으로써 유니티가 만들어놓은 여러 객체 및 메서드(함수)를 class 내에서 사용할 수 있습니다.

현재는 Test class가 MonoBehaviour의 상속을 받아 사용된다고 보시면 되겠습니다.

밑에 보이는 Start함수와 Update함수는 unity LifeCycle의 일종으로 Script 시작 시 자동으로 생성되는 함수입니다.

LifeCycle에 대해서는 설명할 것이 많아 따로 글을 써두겠습니다.

 

이제는 C#에서 사용하는 기본 문법에 대해 알아보겠습니다.

 

변수와 상수

상수는 우리가 아는 1, 2, 100 등 변하지 않는 숫자를 말합니다.

하지만 변수는 프로그램이 실행되는 동안 값이 변할 수 있고, 지정되지 않은 수를 말합니다.

숫자, 문자, 기호 등의 값들이 저장되는 메모리 공간의 이름입니다.

과거 수학시간에 배웠던 x, y 등을 생각하시면 편합니다.

예) int x = 100;

float time = 0f;

 

그룹형 변수

배열

선언 후에 크기를 변경할 수 없으며, 배열의 크기를 셀 때에는 0부터 시작합니다.

선언 : 자료형[]변수명;

초기화1 : 자료형[]변수명 = new 자료형[배열 크기];

초기화2 : 자료형[]변수명 = {??, ??, ??}; // 크기가 자동으로 할당

 

리스트

리스트 또한 0부터 시작합니다.

선언 : List<자료형> 변수명;

초기화 : 변수명 = new List<자료형>();

선언 + 초기화 : List<자료형> 변수명 = new List<자료형>;

 

열거형 변수

값 입력 실수를 방지할 수 있고 코드가 단순해지고 가독성이 좋아지는 변수입니다.

조건문에서 사용가능하며, 초기값을 입력하지 않으면 0부터 값이 매겨집니다.

열거형 선언 : enum  열거형타입 = {??, ??, ??};

열거형 타입 변수 선언, 할당 : 열거형타입 변수명 = 열거형타입. ??;

 

키워드

프로그래밍 언어를 구성하는 특별한 언어로, 변수 이름으로 사용이 불가한 것들이 있습니다.

 

abstract, as, base, bool, break, byte, case, catch, char, checked, class, const, continue, decimal,efault, delegate, do, double, else, enum, event, explicit, extern, false, finally, fixed, float, for, foreach, goto, if, implicit, in, int, interface, internal, is, lock, long, namespace, new, null, object, operator, out, override, params, private, protected, public, readonly, ref, return, sbyte, sealed, short, sizeof, stackalloc, static, string, struct, switch, this, throw, true, try, typeof, uint, ulong, unchecked, unsafe, ushort, using, virtual, void

한 번 쯤은 읽어보시는게 좋습니다.

 

자료형

우리는 이러한 변수들을 자료형과 사용하여 데이터타입을 기입합니다.

자료형에는 여러가지가 있습니다.

 

정수 자료형

소수점이 없는 0, -1, 1 등과 같은 데이터 타입입니다.

데이터 형식에도 여러가지가 있습니다.

자료형 크기 범위
sbyte 부호있는 1 byte 범위 정수 -128~127
byte 부호있는 1 byte 범위 정수 0~255
short 부호있는 2 byte 범위 정수 -32768~32767
ushort 부호있는 2 byte 범위 정수 0~65535
int 부호있는 4 byte 범위 정수 -2147483648~2147483647
unit 부호있는 4 byte 범위 정수 0~4294967295
long 부호있는 8 byte 범위 정수 -9223372036854775808
       ~9223372036854775807
ulong 부호있는 8 byte 범위 정수 0~18446744073709551615

앞에 붙는 s 는 signed, u 는 unsigned를 의미합니다.

예) int x = 100;

 

실수 자료형

1.2, -0.3과 같이 소수점이 포함된 데이터 타입입니다.

정수형 또한 실수형으로 선언이 가능합니다.

 

자료형 크기 범위
float 4 byte ±1.5e-45 ~ ±3.4e38
double 8 byte ±5.0e-324 ~ ±1.7e308
decimal 16 byte ±1.0 × 10 -28 ±7.9 × 10 28

실수 자료형은 float, double, decimal 이 있고, float는 소수점 7번째자리 정도, double은 15번째자리 정도, decimal은 28번째자리 정도의 정밀함을 갖습니다.

예)float f = 0.01f;

float와 decimal의 경우에는 실수를 나타낼 때 예시처럼 뒤에 f 와 m을 붙여 사용합니다. 

 

문자형

문자를 나타낼 때 사용하며, char와 string을 사용합니다.

char : 작은 따옴표 ' ' 를 사용하고, 문자 하나를 표현합니다.

예) char c= 'B';

string: 큰 따옴표 " " 를 사용하고, 문자열을 표현합니다.

예) string s = "Hello";

 

논리형

참/ 거짓을 나타낼 때 사용하며, true 와 false를 사용합니다.

bool: true(1) 또는 false(0)

예) bool b1 = true;

bool b2 = 0;   // false

 

오늘은 Unity를 통한 C#을 시작하면서, C# 자체, C#과 Unity와의 관계,

다양한 변수와 자료형을 공부해보았습니다.

 

다음에도 좋은 글로 뵙겠습니다. 연꿈술사였습니다.

댓글