본문 바로가기

취미로 하는 게임코딩_gameCodingAsHobby/유니티와 C# 개념 정리_Concept Summary

유니티와 C# 개념 정리_014_클래스_Class Class(클래스)는 개체지향 프로그래밍(OOP)에서 개체를 만드는데 필수적인 설계도와 같다. 클래스는 변수(필드)와 함수(메서드)의 결합체이다. 유니티로 게임을 만들때도 C#으로 만든 클래스는 개체의 특성과 기능을 구현하는 핵심적인 역할을 담당한다. 예를 들어 어떤 게임에서 이름과 체력, 점수를 가진 플레이어가 아이템을 수집한다고 하자. 게임에서 이런 특성들을 사용하기 위해서는 클래스에 변수(필드)를 정의한다. 또한 플레이어가 이동하기, 공격하기, 수집하기 등의 동작을 할 수 있게 하려면 함수(메서드)를 만들 수 있을 것이다. 1번줄: using namespace(네임스페이스)이름; 클래스 선언 위쪽에 작성하여 네임스페이스 안에 있는 클래스들을 사용할 수 있다. 3번줄: 클래스 선언과 MonoBehav.. 더보기
유니티와 C# 개념 정리_013_컬렉션즈_Collections collection(컬렉션)의 뜻은 '물건의 더미 또는 사람의 무리'이다. 그러므로 C#에서 Collection(컬렉션)은 데이터를 그룹으로 관리하는 것을 나타낸다. 코드를 작성할 때 데이터 또는 개체를 하나로 묶어서 그룹으로 관리해야 하는 경우가 있다. 예를 들어 서로 관련있는 숫자(점수, 등수 등)나 문자열(과목, 플레이어 등)이 여러 개일 경우에는 하나의 변수에 함께 저장해서 관리하면 편리할 것이다. 이렇게 묶어서 관리할 수 있는 방법에는 2가지가 있다. 1. Array (어뢰이; 배열) 2. Collections (컬렉션즈) Arrays는 가장 기본적인 컬렉션 구조이다. Collections는 배열(Array)의 단점을 보완하고 기능을 추가해서 만들어진 구조이다. Collections에는 Arra.. 더보기
유니티와 C# 개념 정리_012_식별자와 키워드 Syntax(씬택스) 코딩에서 단어 등을 배열하여 만든 문장을 Syntax(구문)이라고 한다. 예를 들면 다음과 같은 것들이다. using UnityEngine; int number = 5 * 6; Debug.Log(number); Identifier(아이덴티파이어) 이전 글(유니티10_C#_06_토큰)에서 Identifier(식별자)에 대해 알아보았는데 다시 정리한다. Identifier(식별자)는 프로그래머가 코드를 작성할 때 클래스, 메서드, 변수 등을 식별하기 위해 만든 이름을 말한다. 줄인 말인 ID(아이디)는 홈페이지 등에서 개인을 식별하는 문자로 많이 사용하고 있다. 위의 코드에서 식별자는 UnityEngine , number , Debug , Log 등이다. number라는 변수명은 내가 .. 더보기
유니티와 C# 개념 정리_011_반복문 Loop 반복문(Loop) 반복문(Loop, 루프)은 같은 작업을 반복해서 수행할 때 사용한다. C#의 반복문 형식은 4가지가 있다. 1. while (와일, ~하는 동안) while 반복문은 가장 기본적인 형식이다. 반복하기 전에 조건을 먼저 확인한 후 반복할 지를 결정한다. 2. do~while (두~와일) while과 비슷하지만 먼저 반복한 후 조건을 확인하여 계속 반복할 지를 결정한다. 3. for (포, ~동안) 가장 일반적으로 사용하는 반복문이다. 초기문, 각 반복마다 증가하는 변수, 중지 조건을 포함하고 있다. 4. foreach (포이치, 각각~동안) array(배열), List(리스트) 등에 포함되어 있는 모든 요소를 자동으로 반복해서 가져올 수 있다. 각 반복문을 유니티로 확인해본다. While.. 더보기
유니티와 C# 개념 정리_010_조건문 switch switch switch(스위치)문에 대해서는 이전에 작성한 글도 있으므로 참고한다.(유니티07_C#_03_제어문) switch(스위치)문은 if~else문 처럼 조건을 검사할 수 있지만 몇 가지 제약이 있다. 같은지 비교만 할 수 있다. 하나의 변수만 비교할 수 있다. 변수를 문자와만 비교할 수 있다.(다른 변수와 비교 안됨) 스위치문의 예는 다음과 같다. 유니티에서 아래 스크립트(Switch.cs)를 만든다. 스위치문의 기본 구조는 위 코드에서 분홍색 키워드로 이루어져 있다. 5번줄: int 타입의 number(숫자)라는 변수를 정의하고 초기값으로 5를 저장한다. 9번줄: switch문으로 비교한다. 괄호안에 비교할 대상(변수)를 넣는다. 11번줄: case(케이스, 경우) 키워드로 비교할 숫자를 지.. 더보기
유니티와 C# 개념 정리_009_조건문 if , ++ , -- if (이프) 문에 대해서는 이전에 작성한 글도 있으므로 참고한다.(유니티07_C#_03_제어문) 조건문(Conditional Statements)을 사용하면 흐름을 다른 방향으로 바꿀 수 있다. 즉, bool의 true값 또는 false값에 따라 각각 다른 코드를 실행한다. 조건문의 가장 일반적인 형태는 if (이프)와 switch (스위치)를 사용하는 것이다. if 조건문 if조건문의 형태는 다음과 같다. if (true) { } 괄호 안의 내용이 true(참)이면 중괄호 { } 안의 코드를 실행한다. false(거짓) 이면 실행하지 않는다. 게임에서 종종 나오는 코드를 유니티에서 만들어 본다. 유니티에서 IfStatement (if문)이라는 스크립트를 만들고 아래와 같이 코드를 작성한다. 5번줄에서.. 더보기
유니티와 C# 개념 정리_008_Bool과 연산자 bool 타입 bool(부울) 타입은 true(참)과 false(거짓) 값만 저장할 수 있지만 조건문과 결합하면 코드의 흐름을 조절할 수 있는 강력한 도구가 된다. bool에 사용하는 연산자 bool값의 연산에 사용하는 기호는 다음과 같다. ! (exclamation mark, 엑스클러매이션 마크) & (ampersand, 앰퍼샌드) | (vertical bar, 버티클 바) 각각 기호의 이름이 있지만 간편하게 not(낱, 아님)연산자, and(앤드, 그리고)연산자, or(오어, 또는)연산자라고 부른다. ! (NOT 연산자) : 느낌표(!)는 부정 연산자이며, bool값 앞에 붙여서 not(아님)의 뜻으로 사용하여 그 값을 반대로 만든다. !true는 false가 된다. !false는 true가 된다. .. 더보기
유니티와 C# 개념 정리_007_Unity의 변수 타입 유니티에서만 사용하는 변수 타입들이 있다. 이전 글 '타입과 초기화'에서 언급한 클래스 타입들이다. 유니티 사용에 도움을 주기 위해 이미 만들어진 수 많은 클래스들이 있다. 그 클래스들을 변수 타입으로 사용해서 다양한 기능을 구현할 수 있다. 클래스 타입을 만든다는 것은 클래스의 개체를 만든다는 뜻이다. 이전 글(C# 특징과 기본 구조)에서 클래스로 부터 new 키워드로 클래스의 오브젝트(개체)를 만들 수 있고, 이 개체로 부터 클래스 타입 변수를 사용해서 인스턴스(instance, 예, 복제)가 생성할 수 있다고 했다. 인스턴스를 통해서 클래스 안에 있는 변수와 함수를 활용할 수 있다. 유니티에서 C# 스크립트를 만들면 제일 위에 using UnityEngine; 코드가 있다. 이것은 UnityEngi.. 더보기