# Static (정적) 메서드

2021. 1. 25. 07:48개발/C#

 

static 메서드 (정적 메서드)

 

Static 메서드는 인스턴스를 생성하여 실행시키는 인스턴스 메서드와 달리 

클래스로부터 객체를 생성하지 않고 직접 Class.Method 형태로 호출하는 메서드

 

이 정적 메서드에서는 클래스의 인스턴스 필드에 접근이 불가능하며, 

클래스의 인스턴스로부터 호출될 수 없다.

하지만 static 필드나 속성에는 접근이 가능하다.

 

클래스 내의 필드들은 인스턴스를 생성할 때마다 메모리에 매번 새로 생성되는 반면

static 필드들은 처음부터 로드되지 않으며,

해당 클래스가 처음으로 사용될 때 한번 초기화 되어 계속 동일한 메모리를 사용한다.

 

보통 메서드가 클래스의 멤버(필드/속성)를 사용할 경우 instance method로 하고,

아무런 dependency(의존성)이 없으면 static method로 하는 것이 좋다.

  

static으로 선언된 필드는 프로그램 전체에 걸쳐 하나만 존재가 가능하다.