Game Development, 게임개발/개발

Namespace, 네임스페이스 [Unity]

게임이 더 좋아 2021. 3. 29. 07:47
반응형
728x170

 

 

모든 언어들에게 있는 외부 라이브러리, 툴 같이 필요한 것들을 불러오는 것.

엄청나게 많은 것들 중에 무엇을 가져올지 모른다.

 

C#에서는 네임스페이스가 해결해준다.

 

알아보자

 


 

정의부터하자

네임스페이스란 클래스를 구분하기 위한 이름표 같은 것이다.

 

C#이 기반으로 있는 닷넷프레임워크에는 수많은 클래스가 있는데 클래스 간의 충돌을 막고

사용자의 편의성을 위해 네임스페이스를 정의했다.

 

극단적으로 예를 들어 

문자열을 add 하는 함수랑 숫자를 add 하는 함수랑 이름이 Add로 같을 수도 있잖아..?

Add()이렇게 쓰면..되겠냐고...

 

++ 사실 오버로드(Overload)가 되어서 파라미터마다 다르게 적용되겠지만 아무튼

그래서 다른 이름표인 네임스페이스를 붙이는 것이다.

 

**사실 클래스는 네임스페이스가 붙어야 하지만.. 편의상 우리가 안 붙이는 것이고

실제로 네임스페이스 밑에서 클래스가 정의되어야 올바르게 사용한다고 할 수 있다.

 

 

그래서 어떻게 사용하느냐?

 

1. 클래스명 앞에 네임스페이스 전부를 적는 경우

-> 이렇게 되면 여러 번 사용하게 되는 메서드는 쓰기 정말 귀찮아짐.

 

2. 소스 첫줄에 해당 using을 사용하는 경우

-> 네임스페이스를 한번 설정해 주면, 이후 해당 파일 내에서 네임스페이스 없이 직접 클래스를 사용 가능하다.

 

 

아래 예시는

네임스페이스를 정의한 것이다.

클래스를 감싸도록 괄호를 설정해줘야 한다.

 

using UnityEngine;
using System.Collections;

namespace SampleNamespace
{
    public class SomeClass : MonoBehaviour 
    {
        void Start () 
        {

        }
    }
}

 

 

 


참고링크

learn.unity.com/tutorial/namespaces

반응형
그리드형