본문 바로가기
C#

[C#] static에 대한 정리

by 테크앤아트 2023. 10. 26.
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#] 생성자  (1) 2023.10.25
[C#] 필드와 지역 변수의 구별  (0) 2023.10.25