• Home
  • About
    • KKsDev photo

      KKsDev

      게임 프로그래머를 목표로 Unity, C#을 공부하고 있습니다.

    • Learn More
    • Email
    • Github
    • Steam
  • Posts
    • All Posts
    • All Tags
  • Projects

C# static 키워드

24 Jul 2023

Reading time ~1 minute

static 키워드

static 키워드는 C#에서 여러 개의 인스턴스가 공유하는 멤버를 정의하는데 사용된다.

static으로 선언된 멤버는 해당 클래스에서 유일하게 존재하고, 해당 클래스의 모든 인스턴스가 해당 멤버를 공유한다.

클래스 내부에서 static으로 선언 되었다면 인스턴스를 생성하지 않고도 사용할 수 있다.

또, 이렇게 static으로 선언된 스코프 내부에서 외부에 있는 변수,메서드,클래스 등에 접근 하기 위해서는 해당 외부 요소들도 static으로 선언되어야 한다.

정적(static) 요소들끼리만 서로 접근이 가능하다.

물론 내부에서 지역 요소들은 선언하고 사용할 수 있다.


static 변수

static 변수는 해당 클래스의 모든 인스턴스가 공유하는 정적 변수

class MyClass{
    static int a = 1;
}

정적 변수 와 전역 변수 의 차이점

위의 static 키워드를 붙혀서 선언된 변수를 정적 변수라고 한다.

정적 변수는 클래스 수준에서 유일하게 존재하고, 클래스가 처음으로 로드될떄 초기화되어 프로그램이 종료될 때까지 유지된다.

반면 전역 변수는 특정 범위에서 정의되고 선언된 변수로 해당 프로그램 전체에서 접근할 수 있는 변수

즉, 여러 클래스에서 접근이 가능하고 프로그램이 실행되는 동안 계속해서 유지된다.

클래스 내부에 static으로 선언된 변수는 정적 변수

클래스 외부에서 static으로 선언된 변수는 전역 변수

static 메서드

static 메서드는 클래스 수준에서 인스턴스를 생성하지 않고도 호출할 수 있는 정적 메서드

인스턴스의 상태에 의존하지 않고 실행된다.

class MyClass{
    public static int Add(int a, int b){
        return a+b;
    }
}

static 클래스

static 클래스는 인스턴스를 생성할 수 없는 클래스입니다.

모든 멤버가 정적 멤버로만 이루어져 있다.

static 프로퍼티 (정적 속성)

static 인스턴스를 생성하지 않고도 접근할 수 있는 프로퍼티.



CSharp Share Tweet +1