티스토리 뷰
static은 정적이라는 의미로, 변수나 함수가 static으로 선언되면 해당 변수나 함수는 유일하게 존재하게 된다.
static 필드

classA객체에 static필드인 id를 선언하였다. id는 객체에 종속되지 않고 classA에 유일하게 존재하는 필드이기 때문에, 객체에서 값을 참조할 수 없고 클래스에서 직접 참조해야만 값을 불러올 수 있다.
static 필드는 객체의 id값을 부여하는데 유용하다.

main함수에서 int i를 선언하고 ++을 통해 값을 부여할 수도 있지만, class내에서 값을 관리하여 가독성도 좋고 코드를 짜기도 편해지게 된다.
static 메소드
static은 변수나 필드 뿐만 아니라 함수, 메소드에서도 사용이 가능하다.

메소드 또한 static으로 선언되면 class내에 유일하게 존재하기 때문에 각각의 객체가 다른 값을 지니는 일반 필드의 값을 사용할 수 없고 오직 static 필드만 사용이 가능하다.

static메소드 역시 static 필드와 동일하게 클래스에서 직접 참조하여 사용이 가능하다.
활용 예시

C#의 기본 라이브러리를 호출해 보면 Console은 static, Random은 static이 아닌 것을 알 수 있다.
'C#' 카테고리의 다른 글
[C#]다형성 (0) | 2023.07.07 |
---|---|
[C#]상속성 (0) | 2023.07.06 |
[C#]생성자 (0) | 2023.07.05 |
[C#]얕은 복사 vs 깊은 복사 (0) | 2023.07.05 |
[C#]Stack & Heap (0) | 2023.07.05 |