728x90
반응형

🎮 Unity 개발/C# 16

C# 문자열 보간(String Interpolation)

C# 문자열 보간(String Interpolation)C# 6.0부터 도입된 기능으로, 문자열 내부에 변수를 쉽게 삽입할 수 있는 방법이다.$ 기호를 문자열 앞에 붙이면, 중괄호 {} 안에 변수를 넣어 값을 직접 삽입할 수 있다.int score = 100;string playerName = "Alice";Debug.Log($"Player: {playerName}, Score: {score}");   기존 방식과의 비교문자열 연결(Concatenation)Debug.Log("Player: " + playerName + ", Score: " + score);string.Format() 사용Debug.Log(string.Format("Player: {0}, Score: {1}", playerName, sc..

Object 객체

Object 객체 객체 - class로부터 만들어진 자료, class에 정의 되어있는 모든 멤버 변수를 정의할 수 있음 int float등은 값만 가지지만, 객체는 멤버 변수 외에 class에 정의 되어있는 메소드를 함께 실행할 수도 있음 (데이터와 기능을 함께 가질 수 있음) 1. Character 정의 2. player enemy 객체 만들기 3. 멤버 변수에 값 설정하기 .name .hp .damage 4. 객체들이 가지고 있는 기능 이용하기 TakeDamage 다른 방법 class를 만들고 class에 생성자를 정의해서 값을 바로 초기화 이 class로부터 player enemy boss라는 객체를 만들어서 기능 사용 Character에 값을 전달해서 사용자 정의 생성자를 호출할 수도 있고 그냥 ..

Class 클래스 - public class Character {}

Class 클래스 클래스 - 관련있는 기능 데이터 하나로 묶어서 관리할 수 있는 것 연관된 자료들, 연관된 데이터들 그리고 그 데이터를 가지고 할 수 있는 어떤 동작, 기능을 묶어둔 것 public class Character { // 먼저 멤버 변수 정의 // 동작 메소드는 클래스 밑에다 정의 // 공통적인 정보 name hp damage - 멤버 변수 // this.변수 - 여기에 있는 값 사용하겠다 public string name; // 멤버 변수 public int hp; // 멤버 변수 public int damage; // 멤버 변수 public void TakeDamage(int damage) { // 전달 값이 있으면 외부에서 전달받은 값 사용(damage) this.hp -= damag..

Method 메소드 - void 메소드이름() {}

Method 메소드 메소드 - 어떤 코드가 실행되는 전체 영역 (void Start, void Update 등) void 메소드이름() {} 쓰는 이유 하나의 영역 내에서 코드를 계속 작성하면 보기 힘듦 비슷한 동작 하는 코드 비슷하게 호출하는 식으로 사용 void - 아무것도 없다 비어있다 메소드이름 - 대문자로 시작하는 영어 단어 조합 코드 public class _13_Method : MonoBehaviour { void StartGame() { Debug.Log("Game Start"); } void EnemyTakeDamage(string name){ Debug.Log(name + " takes damage."); } void PlayerTakeDamage(string name, int hp, ..

Access Modifier 접근제한자 - private, public

Access Modifier 접근제한자 Access Modifier 접근제한자에는 private, public 두 가지가 있다. private은 Inspector에서 값을 수정할 수 없고, public은 Inspector에서 값을 수정할 수 있다. 다음과 같이 사용한다. private int damage = 10; public int damage = 10; int damage = 10; // 적지 않으면 기본 값은 private이다. 코드 public class _12_AccessModifier : MonoBehaviour { // private int damage = 10; // 인스펙터에서 수정 불가 public int damage = 10; // 인스펙터에서 수정 가능 // int damage = ..

Array 배열

Array 배열 변수는 하나의 데이터를 저장하기 위한 공간이다. 배열을 사용해 똑같은 형태의 데이터를 여러 개 관리할 수 있다. int enemy1 = 10; int enemy2 = 20; int enemy3 = 30; Debug.Log(enemy1); Debug.Log(enemy2); Debug.Log(enemy3); 이러한 형태로 사용하는 것을 int[] enemies = {10, 20, 30}; Debug.Log(enemies[0]); // 0 Debug.Log(enemies[1]); // 20 Debug.Log(enemies[2]); // 30 이렇게 줄여서 사용할 수 있으며 반복문을 사용해서 아래처럼 사용할 수도 있다. 자료형[] 변수 = new 자료형[개수]; string[] character..

Continue / Break 반복문 흐름제어

Continue / Break 반복문 흐름제어 반복문 흐름을 제어하는 방법은 Continue, Break 두가지가 있다. 반복문 for 이 실행될 때, 아래와 같이 if (i == 3) {continue;} 코드를 추가하면 i가 3이 됐을때 실행 구문을 건너뛰고 다음 회차로 넘어가며 if (i == 3) {Debug.Log("Boss is dead."); break;} 코드를 추가하면 i가 3이 됐을때 실행을 중단할 수 있다. for (int i = 1; i

Loop 반복문

Loop 반복문 반복문은 for, while, foreach 3가지가 있다. for은 선언; 조건; 산술;로 아래와 같은 형태로 사용한다. for (int i = 0; i < 5; i++) { coin += 1; Debug.Log("coin : " + coin); } 선언을 해놓고 어떤걸 기준으로 반복을 할 지 결정하고 참일 경우 반복하다가 거짓일 경우 빠져나온다. (횟수O) while은 조건이 참인 동안 계속해서 반복한다. (횟수X) foreach는 나중에 배열에서 제대로 사용할 때 정리. 코드 public class _09_Loop : MonoBehaviour { // Start is called before the first frame update void Start() { int coin = 0;..

If 분기문

If 분기문 분기문은 if, else if, else 3가지가 있다. 아래와 같이 사용한다. if 만약 (조건) {조건이 참일 경우 실행} else if (또 다른 조건) {또 다른 조건이 참일 경우 실행} else {전부 거짓일 경우 실행} if (coin >= item1) { Debug.Log("Item 1 purchased."); coin -= item1; } else if (coin >= item2) { Debug.Log("Item 2 purchased."); coin -= item2; } else { Debug.Log("Not enough coin."); 코드 public class _08_If : MonoBehaviour { // Start is called before the first fr..

String 문자열

String 문자열 String을 사용해 문자열 변수를 선언하고, 변수를 조합해서 문자를 출력할 수 있다. s1.Length // 글자 길이 s1.ToLower() // 소문자 변경 s1.ToUpper() // 대문자 변경 s1.IndexOf("m") // 0부터 몇번째인지 s1[2] // 2번째 인덱스에 해당하는 값 s1.Substring(2) // 글자 일부 삭제 // 문자열 비교 s1 == "Player" // True s2 == "Enemy" // False s2.Contains("Enemy") // True s3.StartsWith("En") // True s1.EndsWith("er") // True // 특수 문자 "Game\nOver" // new line 줄바꿈 \n "Game\t\t\t..

728x90
반응형