어제부터 코딩 공부 시작한 휴학생인데...


class와 type, static의 정의를 잘 모르겠습니다.




클래스가 타입이 될 수 있나요?


C#기반으로 유니티를 공부하고 있는데 MusicPlayer.cs라는 파일의 코드를 보시면


using System.Collections;

using System.Collections.Generic;

using UnityEngine;


public class MusicPlayer : MonoBehaviour {


    static MusicPlayer instance = null;


void Start () {

if(instance != null) {

            Destroy(gameObject);

        } else {

            instance = this;

            GameObject.DontDestroyOnLoad(gameObject);

        }

}

}


인데...

게임 내에서 첫번째 씬의 음악(게임 오브젝트)에 들어가는 스크립트파일이고

게임을 플레이하고 다시 첫번째 씬으로 돌아왔을 때 같은 음악이 나오는걸 방지하려는것이 목적입니다


뭘 알려주셔야 할 지 답답해하실 것 같아 추려서 여쭤보자면

static MusicPlayer instance = null; 요 구문이랑..

instance = this; 요놈이 어떤 의미를 갖는지...


지금 위 코드에서 MusicPlayer가 위 스크립트 전체의 클래스이면서 동시에 타입의 형태로 instance라는 static변수를 선언하고 null이라는 값을 넣은 것 같은데


제가 아는 타입이라고 하면 int float string... 이랑 유니티에서 지원해주는 gameObject?같은게 전부라...


null도 무슨 의미인지 모르겠고 지금보니 거의 다 물어보는거같은데 ㅈㅅ... 저도 뭐라 풀어 말해야할지 잘 모르겠어요... 횡설수설


코딩 너무 어려워요 ㅠㅠ