22.03.01_네임스페이스
본문 바로가기
CS Study/Csharp

22.03.01_네임스페이스

by KyeongMin 2022. 3. 2.
728x90
반응형

01.네임스페이스란?

  • 말 그대로 소속을 알리는 역할을 함
    • 변수 이름이나 함수 이름과 같이 명칭을 사용하는 공간으로 소속을 나타낸다고 표현 할 수 있음
  • C#의 경우 C/C++ 와는 달리 컴포넌트 기반의 언어
    • 그래서 여러개의 컴포넌트를 이용해서 하나의 프로그램을 만드는 경우가 많음
    • 이 컴포넌트들을 모두 한명의 개발자가 만들수도 있지만
    • 다른 개발자가 제공하는 컴포넌트를 사용하거나 시스템에서 제공하는 컴포넌트를 사용해서 개발하는 경우도 많음

02.네임스페이스사용

using System;

namespace namspace1
{
    public class Test1
    {
        public void method1()
        {
            Console.WriteLine("method1");
        }
    }
}
namespace namespace2
{
    public class Test2
    {
        public void method2()
        {
            Console.WriteLine("method1");
        }
    }
}
namespace Test
{
    public class Own
    {
        public static void Main(string[] args)
        {
            namspace1.Test1 test1 = new namspace1.Test1();
            test1.method1();
            namespace2.Test2 test2 = new namespace2.Test2();
            test2.method2();
        }
    }
}
  • 네임스페이스로 구분이 되고 각 클래스를 불러오려면
    • 위와 같이 namespace이름. 으로 접근해야함
  • 하지만 위와 같이 한다면 그때마다 번거롭게 네임스페이스 이름을 써야함

02.1 using 을 이용하여 중복 줄이기

  • using 으로 namespace이름을 지정하면 위와 같이 번거롭게 쓰지 않고 바로 클래스 이름을 접근할 수 있다.
  • 백문이 불여일견이라고 바로 봐보자
  • using System;
    using namespace1;
    using namespace2;
    
    namespace namespace1
    {
        public class Test1
        {
            public void method1()
            {
                Console.WriteLine("method1");
            }
        }
    }
    namespace namespace2
    {
        public class Test2
        {
            public void method2()
            {
                Console.WriteLine("method1");
            }
        }
    }
    namespace Test
    {
        public class Own
        {
            public static void Main(string[] args)
            {
                Test1 test1 = new Test1();
                test1.method1();
                Test2 test2 = new Test2();
                test2.method2();
            }
        }
    }

03. C# 10의 namespace

  • before
  • namespace Mynamespace
    {
    }
  • after
    • .net 6.0이 설치되어 있어야 저렇게 쓸수 있음
  • namespace MYnamespace;
728x90
반응형

'CS Study > Csharp' 카테고리의 다른 글

22.03.01_시그니처  (0) 2022.03.02
22.03.01_상속이란?  (0) 2022.03.02
22.03.01_객체지향이란?  (0) 2022.03.02
22.03.01_Value_Vs_Reference  (0) 2022.03.02
22.03.01_Function과Method  (0) 2022.03.02

댓글