C#/기초

[C#] static, const, readonly

딸기우유중독 2023. 3. 14. 13:30

 

C# static 메서드

정적(Static) 메서드는 인스턴스 메서드와는 달리 클래스로부터 객체를 생성하지 않고 직접 [클래스명.메서드명] 형식으로 호출하는 메서드이다. 이 메서드는 메서드 앞에 static 이라는 C# 키워드를 적어 주며, 메서드 내부에서 클래스의 인스턴스 객체 멤버를 참조해서는 안된다. 이 static 메서드는 인스턴스 객체로부터 호출될 수 없으며, 반드시 클래스명과 함께 사용된다.

 

 

# Switch Case 문에서 사용 시 주의 (Const 로 사용해야 함.)

C# static 속성, 필드
정적(Static) 속성 및 필드는 위의 static 메서드와 같이 [클래스명.속성명]과 같이 사용하며, 다음 예와 같이 static을 앞에 붙여 정의한다. 클래스 내의 Non-static 필드들은 클래스 인스턴트를 생성할 때마다 메모리에 매번 새로 생성되게 되는 반면, static 필드는 프로그램 실행 후 해당 클래스가 처음으로 사용될 때 한번 초기화되어 계속 동일한 메모리를 사용하게 된다.
 

 

C# static 클래스

Static 클래스는 모든 클래스 멤버가 static 멤버로 되어 있으며, 클래스명 앞에 static 이라는 C# 키워드를 사용하여 정의한다. Static 클래스는 public 생성자(Constructor)를 가질 수 없지만 (왜냐 하면 static 클래스는 객체를 생성할 수 없으므로), static 생성자를 가질 수 있다. 이 static 생성자는 주로 static 필드들을 초기화 하는데 사용한다. 아래 예제는 static 클래스를 정의하고 사용하는 예이다.

 


https://www.csharpstudy.com/CSharp/CSharp-static.aspx

 

C# 정적 static - C# 프로그래밍 배우기 (Learn C# Programming)

C# static 메서드 정적(Static) 메서드는 인스턴스 메서드와는 달리 클래스로부터 객체를 생성하지 않고 직접 [클래스명.메서드명] 형식으로 호출하는 메서드이다. 이 메서드는 메서드 앞에 static 이

www.csharpstudy.com

 


 

const ( 기본적으로 static으로 작동하며 변수의 상수화) 

선언시 초기화

 

=> const == static + readonly

 

# Switch Case 문에서 사용 시 Const로 사용해야 함.

ex)

 

 

static Get 은 Error

 

const 정상

 


readonly ( 읽기전용 )

선언시 초기화 가능

생성자에서 초기화 가능


 

728x90