[C#] static keyword

Min·2024년 7월 26일
0

CSharp

목록 보기
8/25
post-thumbnail

static

C++에서의 static은 상당히 뭐랄까... 하나의 설명으로 정의하기가 어려운 키워드였던것 같다. 왜냐하면 사용되는 스코프에 따라 작동하는 방식이 조금씩 달랐기 때문이다. [C++] static keyword에 대해서

C#에서는 아무래도 멀티패러다임언어인 C++보다 static을 사용하는 방법 자체가 상당히 제한되어있다. C#에서는 static 멤버 함수, static 멤버 변수로 사용하거나 static 클래스로 사용한다.

static 멤버함수와 static 멤버변수는 C++과 똑같다. 간단하게 설명하자면, 특정 인스턴스와 바인딩되는 멤버가 아니라, 클래스와 바인딩되는 멤버다. 그럼 static 클래스는 무엇일까?

static class

클래스 앞에 static 키워드를 붙여 만들 수 있다.
다음과 같은 특징을 가진다.
1. 정적 멤버만 포함합니다.
2. 인스턴스화할 수 없습니다.
3. 봉인되어 있습니다.(Base 클래스가 될 수 없단 뜻이다)
4. 인스턴스 생성자를 포함할 수 없습니다.

C++로 생각을 해보면 그냥 네임스페이스 안에 전역함수랑 전역변수 모아놓은거랑 똑같다.

참조

static 한정자
정적 클래스 및 정적 클래스 멤버

profile
티내는 청년

0개의 댓글

관련 채용 정보