[c#] 메서드의 클래스 메서드와 인스턴스 메서드의 차이
C#에서 클래스 메서드와 인스턴스 메서드는 각각 클래스와 객체(instance)에 대해 동작하는 다른 유형의 메서드입니다. 이러한 메서드 간에는 몇 가지 중요한 차이점이 있습니다.
클래스 메서드 (Static Methods)
클래스 메서드는 특정 인스턴스에 속한 것이 아닌 클래스 자체에 속해 있는 메서드입니다. 이러한 메서드는 static
키워드로 정의되며, 클래스의 인스턴스 생성 없이 호출될 수 있습니다. 클래스 메서드는 해당 클래스에 대한 인스턴스에 의존하지 않는 작업을 수행합니다.
public class MyClass
{
public static void StaticMethod()
{
// 클래스 메서드의 구현
}
}
위의 예제에서 StaticMethod
은 클래스 메서드로, MyClass.StaticMethod()
형태로 호출될 수 있습니다.
인스턴스 메서드 (Instance Methods)
반면에, 인스턴스 메서드는 특정 인스턴스에 속한 메서드로 해당하는 클래스의 객체를 통해 호출됩니다. 이러한 메서드는 클래스의 인스턴스를 생성하고, 해당 인스턴스의 상태나 데이터를 조작하거나 사용합니다.
public class MyClass
{
public void InstanceMethod()
{
// 인스턴스 메서드의 구현
}
}
위의 예제에서 InstanceMethod
은 인스턴스 메서드로, 객체를 생성한 뒤에 myInstance.InstanceMethod()
형태로 호출됩니다.
차이점 요약
- 클래스 메서드는 클래스 자체에 속해 있으며, 인스턴스를 생성하지 않고도 호출할 수 있습니다.
- 인스턴스 메서드는 특정 인스턴스에 속해 있으며, 해당하는 클래스의 객체를 통해 호출됩니다.
이러한 차이점을 이해하면, 각각의 메서드 형식이 객체 지향 프로그래밍에서 어떻게 사용되는지를 더 확실하게 이해할 수 있습니다.
더 자세한 내용은 Microsoft 공식 문서를 참고하시기 바랍니다.