C#학습노트의 6가지 정의에서 static 키워드의 사용법 및 C#에서 정적 변수의 의미와 사용

1497 단어 C#
클래스의 구성원 변수를 정의할 때 static 키워드를 사용합니다.그러면 이 클래스는 이 변수만 있을 뿐이다. 이를 정적 변수라고 한다. 이것은 이 클래스에 속하고 클래스의 전유의 정적 변수이지 클래스의 실례(대상)에 속하는 것이 아니다.그렇다면 이 부류에 속하는 정적 변수와 이 부류 아래의 대상과의 관계는 무엇일까?클래스 전유의 정적 변수로서 클래스의 모든 대상에 의해 공용되어야 한다는 것을 쉽게 생각할 수 있다.
이 생각을 탐지하기 위해 나는 다음과 같은 코드를 썼다.내 생각은 카운터의 수치인 정적 구성원 변수num을 가진 Counter 클래스를 정의하는 것이다.그런 다음 두 개의 Counter 인스턴스를 생성합니다.코드 실행 결과: 이 정적 변수는 유일합니다. 모든 실례 대상이 그것을 조작할 수 있습니다. 이 정적 변수는 유일한 정적 변수입니다.
using System;

namespace MakeoutStatic
{
class Counter  {
	public static int num;
	public void clear()
		{
		num = 0;
	 	 }
	public void count ()
		{
		num ++ ;
	 	 }
                 }

class Program  {
	public static void Main(string[] args)
		{
		Counter mycounter = new Counter();
		Counter yourcounter = new Counter();
		mycounter.clear();
		int i;
		for(i=0;i<10;i++)
			mycounter.count();
		Console.Write(Counter.num);
		yourcounter.clear();
		Console.Write(Counter.num);
		Console.ReadKey();
		 }
              
	              }
}

Main 함수의 주요 코드에 대한 설명: 새 두 개의 Counter 객체하나의 대상의clear 방법은 클래스의 전유 정적 변수인num을 0으로 지우고, 이 대상의count 방법은 10회, 즉num을 10회 증가시킨다.num의 값을 표시합니다.주의,num은 mycounter가 아닙니다.넘이 아니라 카운터야.num, 클래스에만 있기 때문에 대상에 존재하지 않으며, 대상은 그것만 조작할 수 있습니다.다음에 다른 대상의clear 방법으로num을 삭제합니다.num의 값을 표시합니다.
이 코드는 클래스의 정적 변수가 클래스가 대상에 공용하는 특성을 충분히 보여 준다.
마찬가지로 클래스를 정의할 때 하나의 함수에 static 키워드를 사용하면 클래스 전용 함수이기도 하다. 클래스가 사용하는 변수는 정적 변수, 즉 클래스 전용 변수여야 한다.그래서 정적 함수와 정적 변수는 모두 클래스의 전속 차원에서 운행된다.

좋은 웹페이지 즐겨찾기