더북(TheBook)

정적 메서드와 인스턴스 메서드

닷넷의 많은 API처럼 우리가 새롭게 만드는 클래스는 메서드를 포함한 각 멤버에 static 키워드 유무에 따라 정적 또는 인스턴스 멤버가 될 수 있습니다. 앞으로 계속해서 다룰 내용인데요. 먼저 다음 예제를 실행해 보세요.

정적 메서드와 인스턴스 메서드: MyFirstClass.cs

using System;

class MyFirstClass
{
    static void StaticMethod() => Console.WriteLine("[1] 정적 메서드");
    
    void InstanceMethod() => Console.WriteLine("[2] 인스턴스 메서드");

    static void Main()
    {
        MyFirstClass.StaticMethod();          //① 정적 메서드 호출
        MyFirstClass my = new MyFirstClass(); //② 인스턴스 메서드 호출
        my.InstanceMethod();
    }
}

실행 결과

[1] 정적 메서드
[2] 인스턴스 메서드

static이 붙은 정적 메서드를 클래스.메서드(); 형태로 호출합니다. 정적 메서드는 클래스에서 공유해서 사용하기에 공유 메서드라고도 합니다.

static이 붙지 않은 인스턴스 멤버를 클래스의 인스턴스로 생성한 후 해당 인스턴스 개체를 사용하여 호출합니다. 이처럼 클래스 내 멤버를 구성할 때 static이 붙으면 정적 멤버가 되고, static이 붙지 않으면 인스턴스 멤버가 됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.