프로그래밍/C#

[C#] 기본 - 네임 스페이스 , 메소드

QA Engineer - P군 2016. 4. 5. 19:15
반응형

네임 스페이스 (NameSpace)

- 비슷한 기능이나 성격을 띄고 있는 비슷한 클래스 , 구조체 , 인터페이스 , 열거형 , 델리케이트 등을 하나의 이름 아래로 묶는 일을 합니다.

 

메소드(Method)

- 객체 지향 언어에서 사용하는 용어로, 일련의 코드를 하나의 이름 아래로 묶은 것입니다.
[C/C++] - 함수 (Finction) , [PASCAL] - 프로시져(Procedure)

 

namespace 네임 스페이스
{
    class 클래스 이름
    {
        한정자 반환_형식 메소드_이름 (매개_변수)
        {
            코드 내용
            return 결과_값
        }
    }    

    static void Main(string[] args)
    {
            
         // 메인 함수   
    }
        
}
static void Main(string[] args)

 - C#에서는 staric으로 Main 함수를 선언합니다.
: static 으로 선언되지 않거나 main(소문자)로 할 경우등 진입점에 적합하지 않을 경우 아래와 같은

오류를 뿜어내며 프로그램이 실행되지 않습니다.
error CS5001: 진입점에 적합한 정적 'Main' 메서드가 '' 프로그램에 없습니다.

 

namespace를 통한 static 함수 사용

using 키워드를 통해서 namespace를 사용할 수 있습니다.
( C/C++ 의 using namespace std를 생각해 볼 수 있겠습니다.)

using System;
using TestNameSpace;

namespace TestNameSpace
{    public static class PrintValue
    {
        public static void printString(string str)
        {
            Console.WriteLine(str);
        }
    }
}

namespace C_Sharp_1
{
    class Program
    {
        static void Main(string[] args)
        {
            PrintValue.printString("hello! world!");
//TestNameSpace.PrintValue.printString("hello! world!");
        }
    }
}

 

new 키워드 사용

 

using System;
using TestNameSpace;

namespace TestNameSpace
{    class PrintValue
    {
        public void printString(string str)
        {
            Console.WriteLine(str);
        }
    }
}

namespace C_Sharp_1
{
    class Program
    {
        static void Main(string[] args)
        {
            TestNameSpace.PrintValue test = new TestNameSpace.PrintValue();
            test.printString("Hello! wolrd!");
        }
    }
}

 

반응형