본문 바로가기
게임 프로그래밍/게임개발 초급

게임개발 초급(3) - C# 스크립트의 구조

by jyppro 2023. 4. 15.

C# 스크립트의 구조

 

저번에는 변수와 데이터타입에 대해 알아보았는데요, 변수와 데이터타입 설명에 초점을 맞추다보니 생략하고 넘어간 부분이 있어 그 부분을 이번엔 자세히 다뤄 볼까 합니다. 바로 유니티에서 C# 스크립트의 구조입니다.

 

유니티에서의 C# 스크립트 구조는 일반적인 C# 프로그램의 구조와 비슷하지만, 유니티 엔진의 기능과 라이프사이클에 맞게 구성되어 있습니다. C# 스크립트는 MonoBehaviour 클래스를 상속받아 작성합니다. MonoBehaviour 클래스는 유니티 엔진의 오브젝트에 부착되는 컴포넌트의 기본 클래스입니다.

유니티에서의 C# 스크립트 구조는 일반적으로 다음과 같습니다.

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MyScript : MonoBehaviour
{
    // 변수 선언
    public int myInt = 10;
    private float myFloat = 1.5f;

    // 함수 선언
    void Start()
    {
        // 코드
    }

    void Update()
    {
        // 코드
    }
}

 

기본적으로 유니티에서 C# 스크립트를 생성하면 위와 같은 구조를 가집니다.

위 코드에서 변수선언 부분은 사용자가 직접 선언하는 것이고, 기본 구조는 MonoBehaviour를 상속받은 MyScript 라는 이름의 클래스 안에 void Start(), void Update() 함수가 자동으로 생성됩니다. 두 함수이외에 다른 함수도 사용자가 만들어 작성할 수 있으며, 맨 위에있는 using은 자바에서 import하여 사용하는 것과 비슷한 개념입니다.

 

using 문: C#에서 다른 namespace에서 정의된 클래스, 메서드 등을 사용하기 위한 문장입니다. 일반적으로 UnityEngine 네임스페이스를 추가하여 유니티 엔진에서 제공하는 클래스를 사용합니다.


클래스 선언스크립트의 클래스를 선언하고 MonoBehaviour 클래스를 상속받습니다. 이 클래스는 유니티 오브젝트의 컴포넌트로 사용됩니다.


변수 선언: 스크립트에서 사용되는 변수를 선언합니다. 일반적으로 public, private 등의 접근 제한자와 데이터 타입, 변수 이름, 초기화 값을 설정합니다.


함수 선언: 스크립트에서 사용되는 함수를 선언합니다. 일반적으로 Start(), Update() 등의 유니티 엔진에서 미리 정의된 함수들을 사용하며, 사용자가 직접 정의한 함수도 사용할 수 있습니다.


유니티에서의 C# 스크립트 구조는 MonoBehaviour 클래스의 함수들을 사용하여 유니티 엔진의 라이프사이클에 맞게 작성되어 있습니다. Start() 함수는 스크립트가 오브젝트에 부착될 때 한 번 호출되며, Update() 함수는 프레임마다 한 번 호출됩니다. 이 외에도 Awake(), OnEnable(), FixedUpdate() 등 다양한 함수가 있습니다. 이 함수들은 유니티 오브젝트의 라이프사이클과 관련된 작업을 수행합니다.

 

다음에는 위에서 짧게 설명한 public, private 와 같은 접근 제한자에 대해서 설명을 해드리겠습니다. 감사합니다.