본문 바로가기
Unity & C# Basics

Unity 공부일지 : SerializeField, Instance, 접근지정자, Awake, Start, Update, 반복문, 클래스 메서드

by 나만두 2023. 6. 16.

 

 

요약한 것들

 

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

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

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

 

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

 

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

 

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

 

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

 

Awake()

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

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

 

Start()

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

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

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

 

Update()

매 프레임마다 호출되는 함수

게임 제작에 있어 핵심

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

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

 

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

 

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

 

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

 

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

기본구조는 

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

  //실행문

예시

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

foreach(int number in array){

  Debug.Log(number);

}

결과값은 12345가 나온다.

 

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

 

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

 

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