티스토리 뷰

C# 인스턴스변수와 클래스변수

C# 인스턴스, 클래스변수 알아보자


 C#의 클래스에서 보면 인스턴스변수와 클래스변수라는 것이 있습니다. 둘 다 변수라는 점에서는 같지만 사용되는 방법이 다르므로 그 차이점을 집고 넘어가려고합니다.


 그 전에 간단하게 인스턴스멤버와 클레스멤버에 대해서 써보자면, 일단 인스턴스는 클래스에서 객체를 말합니다. 만약에 Random 클래스(클래스이름의 첫글자는 대문자로 약속)의 인스턴스인 random이 있다고 치면 여기서 사용되는 녀석 random.Next(xx), random.NextDouble() 등 인스턴스 뒤에 점을 찍고서 사용하는 멤버들을 우리는 인스턴스 멤버라고 합니다. 그 멤버가 변수, 매서드, 속성 임에 따라서 각각 인스턴스변수, 매서드, 속성 이라고 표현하는 것이죠.

인스턴스변수

 인스턴스 변수라고 함은 위에서 말했듯이 어떤 클래스의 인스턴스(객체)를 생성하고서 그 후에 사용되는 멤버중에 변수라고 생각하시면 되겠습니다.


인스턴스변수 사용예시

 예시로 위의 코드를 잠깐 살펴보자면 , 테스트(Test) 클래스의 객체인 test가 점을찍어서 사용할 수 있는 name이라는 변수는 인스턴스변수입니다. 간단하죠? 네

클래스변수

 그렇다면 자연스럽게 클래스변수가 어떤 놈인지도 아시겠죠? 네


클래스변수 사용예시

 클래스변수의 예로는 Math클래스를 사용해보겠습니다. 위에 코드에서 보게되면 Math클래스에 점을 찍어서 PI(파이)값을 바로 출력하는 것을 확인 할 수 있습니다. 이때 인스턴스의 생성없이 바로 사용할 수 있었는데요? 이렇게 사용되는 것이 바로 클래스변수라고 생각하시면됩니다. 추가적인 사항으로는 클래스변수를 생성할때는 인스턴스변수와는 다르게 static 키워드가 필요하다는 점이 있겠네요.


C# - var 키워드는 무엇인가 (초기화, 사용법)

댓글
최근에 올라온 글
최근에 달린 댓글
네이버 이웃추가
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함