[C#] static에 대한 정리

2023. 10. 26. 17:06C#

728x90
반응형

필드나 메소드에 붙이는 수식자.

같은 클래스로부터 생성한 객체에서 static을 붙인 필드는 값이 같아진다.

어느 객체에도 같은 동작을 하는 메소드에는 static을 붙인다.

 

 

예시

using System;

class Purse
{
    public static int money = 0;

    public void printMoney(int IN, int OUT)
    {
        money = money + IN - OUT;
        if (money < 0)
        {
            Console.WriteLine((-1 * money) + "원 부족합니다.");
        }
        else
        {
            Console.WriteLine("잔금은 " + money + "원 입니다.");
        }
    }
}

class Shopping
{
    public static void Main()
    {
        Purse purse1 = new Purse();
        Purse purse2 = new Purse();
        purse1.printMoney(1000, 100); //money 0으로 시작 900 남음
        purse2.printMoney(0, 250); //static 필드 공유로 900 - 250 = 650
        purse1.printMoney(0, 800); //static 필드 공유로 650 - 800 = -150
    }
}

같은 클래스로부터 생성한 purse1, purse2 객체 사이에 money 필드 값이 공유된다.

728x90
반응형

'C#' 카테고리의 다른 글

C# 코딩 테스트 정리  (0) 2024.01.15
[C#] 인터페이스  (0) 2023.10.27
[C#] 속성(feat. get, set), 인덱서  (0) 2023.10.25
[C#] 생성자  (0) 2023.10.25
[C#] 필드와 지역 변수의 구별  (0) 2023.10.25