본문 바로가기
C# 공부

static

by Dev_Hugh 2021. 8. 22.
728x90
반응형

Study about static

static field and method

  • static은 메소드나 필드가 클래스 자체에 속하도록 지정하는 한정자
  • 인스턴스 소속 필드 vs 클래스 소속 필드
  • 필드는 C++에선 멤버라고 생각
// 1번
class MyClass_Instance
{
    public int a;
}
public static void Main()
{
    MyClass mc = new MyClass();
    mc.a = 1;
}

// 2번
class MyClass_class
{
    public static int a;
}
public static void Main()
{
    MyClass_class.a = 1;
}
  • 1번은 인스턴스 소속필드 2번은 클래스 소속 필드다.
  • 2번의 경우 인스턴스를 만들지 않고 클래스의 이름을 통해 필드에 직접 접근한다.

static field and static method

  • 정적 메소드는 클래스 자체에 소속된다
  • 클래스 인스턴스 생성 없이도 호출 가능
class MyClass_staitc
{
    public static void StaticMethod()
    {
        Console.WriteLine("static_metohd");
    }
}
class MyClass_instance
{
    public void InstanceMethod()
    {
        Console.WriteLine("instance_method");
    }
}
public static void Main()
{
    // 1번
    MyClass_static m_st.StaticMethod();

    // 2번
    MyClass_instance m_in = new MyClass_insatnce();
    m_in.InstanceMethod();
}
  • 1번은 정적 메소드 호출 2번은 인스턴스 메소드 호출방법이다.
728x90
반응형

'C# 공부' 카테고리의 다른 글

interface  (0) 2021.08.25
tuple  (0) 2021.08.22
inheritance  (0) 2021.08.22
class 02  (0) 2021.08.22
class 01  (0) 2021.08.22