728x90
반응형
안녕하세요 아임코딩입니다.
이번에는 정적 필드에 대해서 배워보겠습니다.
정적 필드
정적 필드는 클래스가 가진 필드라고 생각하면 된다. 클래스로 만든 객체가 가지는 필드가 아니라 클래스에서 가지는 필드입니다. 따라서 객체가 생성되지 않아도 정적 필드는 클래스가 존재하면 존재합니다.
문법
static [접근제한자] [자료형] [필드 이름]
정적 필드를 생성하는 방법은 클래스에 static [접근제한자] [자료형] [필드 이름] 형식으로 선언합니다.
[클래스 이름].[필드 이름]
정적 필드를 참조할 때는 [클래스 이름].[필드 이름] 형식으로 접근합니다.
예제 코드
using System;
namespace Tistory
{
internal class Program
{
class Person
{
static public int count = 0;
public Person() //기본 생성자
{
count++;
}
~Person()
{
count--;
}
}
static void Main(string[] args)
{
Console.WriteLine(Person.count);
Person person1 = new Person();
Person person2 = new Person();
Console.WriteLine(Person.count);
}
}
}
Person 클래스에서 정적 필드로 count 필드를 하나 만들었습니다.
이 필드는 전체 프로그램에서 Person 객체가 몇 개 사용되고 있는지 저장하는 용도로 쓰입니다.
생성자가 실행되면 count 값을 올려주고 종료자가 실행되면 count 값을 하나 감소시킵니다.
정적 필드에 접근하는 방법은 Person.count 이렇게 클래스이름으로 필드에 접근합니다.
정적 필드를 이용하면 클래스 전체에서 공유하는 필드를 생성할 수 있습니다.
728x90
반응형
'프로그래밍 > C#' 카테고리의 다른 글
[C#] 연산자 오버로드 (0) | 2023.05.12 |
---|---|
[C#] 정적 메서드 static method (0) | 2023.05.12 |
[C#] 생성자 (0) | 2023.05.12 |
[C# 문제풀이] 백준 2439 번 별찍기 (0) | 2023.05.11 |
[C# 문제풀이] 백준 2438 번 별찍기 (0) | 2023.05.11 |