C#

텍스트 던전 콘솔로 구현하기 - 작업중 학습(2)

temp-franc 2023. 8. 23. 20:34

Case 2. 하나의 스크립트를 다루면 너무 코드가 길어짐.

 : 같은 네임스페이스를 사용한다면, 다른 폴더에 있어도 해당 클래스를 가져올 수 있다.

 

네임스페이스 (NameSpace)

: 내부 식별자(형식, 함수, 변수 등의 이름)에 범위를 제공하는 선언적 영역

분류

 1. 내장된 네임스페이스

   : System : 네임스페이스

   : Console : 네임스페이스의 클래스.

 

  2. 사용자가 정의하는 네임스페이스

   : 고유한 네임스페이스를 선언하면, 클래스 및 메서드 이름의 범위를 제어할 수 있음.

 

namespace SampleNamespace
{
    class SampleClass
    {
        public void SampleMethod()
        {
            System.Console.WriteLine(
                "SampleMethod inside SampleNamespace");
        }
    }
}

 

  코드를 논리 그룹으로 구성.

 : 하기 때문에, 물리적인 구조인 디렉토리가 달라도 정의된 클래스를 사용할 수 있음.

 Program.cs 에 있는 Character 클래스를 새 디렉토리에 이동시키면..

 

   해결

// .\Classess\Character.cs
namespace DungeonSparta.Classess
{
    public class Character
    {
        public string Name { get; }
        public string Job { get; }
        public int Level { get; }
        
        // ... 생략 ...

 

// Program.cs

Using DungeonSparta.Classess;

namespace DungeonSparta
{
   internal class Program
   {
   
   // ... 생략 ...

 

  보완 해야할 점

  : 프로젝트의 구조를 어떻게 구성하는 것이 더 효율적인 개발을 할 수 있을까....