정적 변수
- 정적 변수는 클래스로부터 객체를 생성하지 않아도 사용 가능
- 클래스명.변수이름 으로 사용
- 일반 멤버 변수는 객체가 생성될 때마다 각각 변수가 생기지만, 정적 변수는 동일한 메모리 사용
class Test
{
public static int num;
}
static void Main(string[] args)
{
Test.num = 1;
}
정적 함수
- 정적 함수도 클래스로부터 객체를 생성하지 않아도 사용 가능
- 클래스명.함수이름 으로 사용
- 정적 함수 내에서 정적 변수가 아닌 일반 멤버 변수를 호출할 수 없음
class Test
{
public static int num;
public static int sum(int x)
{
return num + x;
}
}
static void Main(string[] args)
{
Test.num = 5;
Console.WriteLine(Test.sum(10)); // 15 출력
}
정적 클래스
- 모든 멤버가 정적 변수 혹은 정적 함수로 이루어짐
- 객체를 생성할 수 없음
- 정적 생성자를 가질 수 있음 (접근 제한자, 매개변수 사용 불가)
- 클래스명.변수이름 또는 클래스명.함수이름 으로 사용
public static class StaticTestClass
{
public static int score;
// 정적 생성자
static StaticTestClass()
{
score = 10;
}
public static void StaticFunction()
{
score = 20;
}
}
static void Main(string[] args)
{
Console.WriteLine(StaticTestClass.score); // 10 출력
StaticTestClass.score = 15;
Console.WriteLine(StaticTestClass.score); // 15 출력
StaticTestClass.StaticFunction();
Console.WriteLine(StaticTestClass.score); // 20 출력
}
'C#' 카테고리의 다른 글
절대값 구하기 (1) | 2023.12.06 |
---|---|
삼각함수 (0) | 2023.12.04 |
문자열 빌더 (StringBuilder) (0) | 2023.11.14 |
Nullable 형 (0) | 2023.11.14 |
LINQ (0) | 2023.11.14 |