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
반응형