Unity진행에 앞서 기본 적인 프로그래밍 기술을 익혀보려고한다.
unity를 들어가기앞서 기본적인 시작 구성은 다음과같다.
프로그램을 만들고 시작할때 클래스를 만들어 사용하는데.
자바를 알고 있는경우 c#을 배우기가 매우 편하다. 문법이 자바와 매우 유사하기 때문이다.
public class MyClass{
public static void Main(){
Console.WriteLine("Hello World");
}
}
자세한 클래스 와 함수에 대한 내용은 추후 배울예정이니 기본적인 틀에 대해 눈에 익혀두도록 하자.
Console.WriteLine();
말그대로 변수는 변할수 있는 수 이다.
변수는 수학시간에 많이 배웠던것처럼
a, b, number, world, _myName , state3,
숫자를 제외한 값을 대입할수 있는 문자들이 변수이다.
C/C++, Java 와 같은 객체지향 프로그래밍 언어는 타입을 설정해줘야한다.
c#도 마찬가지로 변수에 타입을 지정해줘야한다.
변수를 지정할때 (네이밍) 할때 주의 사항
1. 변수의 시작은 숫자가 올수없다.
2. 변수의 시작은 _(언더바)나 영문자로 시작되어야한다.
3. 변수에 띄어 쓰기는 사용할수 없다.
4. 변수에 특수 문자는 사용할수 없다.
5. 단, 변수의 마지막에 숫자나 언더바 는 사용가능하다.
6. 변수는 대소문자 구분한다.
7. 키워드는 변수로 사용할수 없다 ( int, float, class, enum, for, while 등..)
c#에 정의된 키워드 종류
다음중 옳지 않은 변수 선언은 몇번일까요?
int NumberMyName; // 1.
float 1MyFLOatingNumber; // 2.
string __YOURNAMEIS; // 3.
int int // 4.
char charNumber; // 5.
double double1; // 6.
키워드 | 범위 | 크기 |
int | –2,147,483,648 ~ 2,147,483,647 | 부호 있는 32비트 정수 |
long | –9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 | 부호 있는 64비트 정수 |
public class MyGame{
public static void Main(){
int myNumber =10;
myNumber = 30;
Console.WriteLine(myNumber);
Console.WriteLine($"{myNumber}");
}
}
키워드 | 근사범위 | 전체자릿수 |
float | ±1.5 x 10−45 ~ ±3.4 x 1038 | ~6-9개 자릿수 |
double | ±5.0 × 10−324 ~ ±1.7 × 10308 | ~15-17개 자릿수 |
decimal | ±1.0 x 10-28 ~ ±7.9228 x 1028 | 28-29개의 자릿수 |
public class MyGame{
public static void Main(){
float myfloatingNumber =10f;
Console.WriteLine(myfloatingNumber);
Console.WriteLine($"{myfloatingNumber}");
}
}
bool 형식 키워드는 부울값 (true, false)를 나타내는 논리 연산 키워드 입니다.
bool은 반복문, 조건문 분기 제어하는 연산 식에 많이 사용됩니다.
public class MyGame{
public static void Main(){
bool isBool = 10 == 10;
// 같은 사용법
Console.WriteLine($"{isBool}");
// 같은 사용법
Console.WriteLine(isBool);
}
}
키워드 | 범위 | 사이즈 |
char | U+0000~U+FFFF | 16비트 |
public class MyGame{
public static void Main(){
char myChar = 'a';
Console.WirteLine(myChar);
Console.WriteLine($"{myChar}");
}
}
문자열은 자료형은 아니고 클래스 단위입니다.
사용방법은 다음과 같다.
public class MyGame{
public static void Main(){
string weaponName = "BF Sword";
Console.WriteLien(weaponName);
Console.WriteLine($"{weaponName}");
}
}
문자열 보간
문자열 보간이란 $를 기준으로 리터럴화 해준다.
리터럴이란 코드상 고정값을 말한다. 상수, 열거형, 고정적인값 변수를 제외한 값을 리터럴 이라고한다.
예문 출력함수 2번째 다음과같이 사용되고있다.
Console.WriteLine($"{number}");
중괄호에 변수를 문자열화 해준다.
해당 문법을 사용하면 문자열 연결, 변수와 문자열 혼합을 사용할때 상당히 편해지는 장점을 가지고 있다.
string name = $"저는{5}살 입니다!";
int age = 20;
name = $"구라 구요 사실 {age}살 입니다";
열거형은 상수집합에 의해 정의하는 값의 형식
열거형은 게임개발에 있어 많이 사용되고 개발자가 숫자표기 보다 열거형을 이용하여 상태값을 표기하는데 정말 편리한 열거형 이다.
사용방법은 다음과 같다.
enum Job{
Warrior = 0,
Magician = 1,
Archor = 2,
Thief = 3
}
publ class Player {
public static void Main(){
Job j = Job.Archor;
Console.WriteLine("My Job is == > "+j);
Console.WriteLine($"My Job is == > {j}");
}
}
구조체는 데이터들을 캡슐화 하여 하나의 집합체로 사용할수 있다.
게임에서 클래스단위가 아닌 구조체 단위로 많이 사용되므로 필수적으로 알고 있어야한다.
클래스와 거의 비슷하므로 클래스 개념을 익할때 충분히 구조체 개념을 알고 있어야한다.
public struct Weapon{
string name;
int damage;
int price;
}
public class MyGame{
public static void Main(){
Weapon sword = Weapon();
sword.name = "BF Sword";
sword.damage = "80";
sword.price = 1800;
Console.Write("My sword is "+sword.name+
"Damage == > "+sword.damage+
"price == > "+sword.price);
Console.WriteLne($"My sword is {sword.name}
Damage ==> {sword.damage}
price == >{sword.price} ");
}
}
Reference
step5 c#기초- OOP (Object Oriented Programming) (62) | 2022.03.09 |
---|---|
step3 c# 기초 - 조건문과 반복문 (0) | 2022.02.12 |
step2 c# 기초 - 연산자 와 함수 (0) | 2022.02.12 |
step0 - github + sourceTree SSH personal Token 사용방법 (0) | 2022.02.12 |
step0 -유니티 21.1.25f 설치 방법 (0) | 2022.02.09 |
Unity Andorid 12 대응 (0) | 2022.01.24 |