본문 바로가기
Unity & C# Basics

C# 공부일지 : Basics

by 나만두 2023. 7. 12.

 

 

지금까지 구글링, Document , GPT를 이용해 조금씩 써놓은 것들

다음부터는 책으로 공부일지 올림

 

MonoBehaviour 게임 씬의 GameObject 연결할 있는 스크립트를 만들기 위한 기본 클래스. 클래스는 게임 엔진과의 상호작용을 위해 다양한 메서드와 기능을 제공

클래스를 상속받는 클래스는 Unity 생명주기 함수(Awake, Start, Update ) 사용할 있고, 게임 오브젝트의 동작을 컨트롤할 있다.

 

SerializeField- 인스펙터에서는 접근 가능하지만 외부 스크립트에서 접근 불가능

일반적으로 인스펙터에서 자주 변경해야하는 private 변수에 쓰인다. 

//인스펙터에서 사용하기 위해 쓰인다.

 

GameObject- 게임 오브젝트의 모양과 게임 오브젝트의 기능을 결정하는 기능적 컴포넌트의 컨테이너 역할

 

인스턴스(instance)- 이미 만들어진 게임 오브젝트를 필요할 때마다 실시간으로 만듦. ->원할 복제하여 사용

 

Public(접근지정자)- 전역변수. 스크립트 밖에서 변수값을 고칠 있고 다른 스크립트에서 있다.

 

private(접근지정자)- 지역변수. 함수 안에서만 있다. 스크립트 밖에서 고칠 없다. -> 함수 {} 안에서만 사용 가능

 

Awake()

게임을 시작하기 전에 변수 등을 초기화하기 위해 사용

스크립트가 실행될 가장 처음 1 실행되는 함수

 

Start()

1번만 실행되는 함수로 Update 함수보다 우선적으로 실행됨

다른 스크립트들의 Awake() 실행이 종료되면 실행됨

반드시 스크립트가 활성화 되어 있어야

 

Update()

프레임마다 호출되는 함수

게임 제작에 있어 핵심

반드시 스크립트가 활성화 되어 있어야

프레임마다 반복되므로 update 과하게 사용하면 성능이 저하될 있음

 

순서 Awake()-> Start()-> Update()

 

parameter(파라미터)- 변수의 종류로 함수에 인풋으로 제공되는 데이터 하나를 말한다.

 

argument(아규먼트)- 인풋으로 제공되는 데이터들을 argument라고 부른다.(실제로 전달되는 값을 의미)

 

var-자료형을 정하지 않는 키워드. 지역변수로 선언해야 하며 선언과 동시에 초기화 작업을 해야 한다.

 

클래스- 메서드, 속성, 필드, 이벤트 등을 멤버로 포함하는 소프트웨어 단위

 

메서드-c에서의함수와 비슷한 기능이다. , 코드들을 묶어놓은 코드 불록이다.

 

델리게이트- c#에서 메서드를 참조하는 개체로 메서드를 다른 메서드에게 전달하거나 메서드를 동적으로 호출하는 데 사용된다. 함수의 포인터와 유사한 역할을 한다. 

 

System.Collections-.NET에서 다양한 컬렉션 클래스와 관련된 유틸리티를 제공한다. 배열,리스트 해시테이블,스택,큐 등과 같은 데이터 구조를 다루는 클래스들이 포함되어 있다. 비제네릭 콜렉션은 모든 요소를 Object 다루며 형식 안전성을 보장받을 없다.

//C에서 stido.h 비슷한 느낌으로 생각하면 .

 

System.Collections.Generic- 제네릭은 데이터 구조와 알고리즘을 형식 안정성을 유지하면서 일반화하여 재사용을 높이는 기능이다. 

 

GetComponent<T>-지정된 타임 T 해당하는 컴포넌트를 찾아노는 메서드로 해당 컴포넌트가 게임 오브젝트에 연결되어 있어야한다.

 

Input-Unity에서 제공하는 입력 관련 클래스. 

 

touchCount - 현재 프레임에서 인식된 터치 입력의 개수를 나타내는 변수이다.

 

GetMousePosition-마우스 커서의 현재 위치를 반환

 

GetKey(KeyCode key)- 메서드는 특정 키가 현재 프레임에서 눌려져 있는지 여부를 반환. 매개변수 key 확인하려는 키의 KeyCode 전달. 키가 눌려져 있는 동안 계속해서 true 반환

 

GetKeyDown(KeyCode key)-키를 눌렀을 true반환, 아니면 false

 

GetKeyup(KeyCode key)-키를 눌렀다가 땠을 떄 true반환 아니면 false

 

rotation-객체의 요소의 회전 상태를 나타낸다.

 

enum- 열거형으로 요소,멤버라 불리는 명명된 값의 집합을 이루는 자료형이다.

 

GetValues()-저장된 열거형 타입의 모든 멤버 값을 배열로 반환한다. 

typeof()-() 열거형의 Type 얻을 있다.

배열(Array)과 열거형(Enum)- 배열은 동일한 유형의 데이터 요소들이 순서대로 저장된 데이터 구조이다. 인덱스를 사용해여 요소에 접근하고 추가,삭제가 가능하다. 열거형은 상수의 집합을 정의하는 형식이다. 상수값을 그룹화하고 가독성을 높이기 위해 주로 사용. 각 상수는 고유한 이름과 정수값(0부터 시작)을 가진다. 명시적으로 값을 할당할 수도 있다

 

ToString()-객체를 문자열로 변환하는 메서드.

 

foreach- 반복문이다.  실행문 안에 break, continue, return 넣을 있다. 

기본구조는 

foreach(자료형 변수1 in 그룹형 변수2){

  //실행문

} 

예시

int[] array = {1, 2, 3, 4, 5};

foreach(int number in array){

  Debug.Log(number);

}

결괏값은 12345 나온다.

 

List

구조:

List<T> list = new List<T>();

T 저장할 데이터의 형식 ex)int가 들어갈 있다.

데이터를 추가하려면 Add메서드를 사용한다.

ex)number.Add(10);