... | ... | @@ -2,7 +2,7 @@ |
|
|
---
|
|
|
|
|
|
### **클래스**
|
|
|
**클래스(Class)**에는 *Field*, *Method*, *생성자*, *소멸자*와 같은 *멤버(Member)*를 포함할 수 있다. *Filed*는 클래스 내부에 선언된 속성으로 임의 형식의 변수를 말한다. 멤버를 선언할 때 접근 한정자를 생략하면 `private`으로 정의된다. 객체를 생성할 때는 `new` 키워드를 사용하며 **Reference Type**으로 할당된다. 단, C#에서는 `delete`와 같은 키워드가 없어서 의도적으로 할당 해제를 할 수 없다.
|
|
|
**클래스(Class)**에는 *Field*, *Method*, *생성자*, *소멸자*와 같은 *멤버(Member)*를 포함할 수 있다. *Field*는 클래스 내부에 선언된 속성으로 임의 형식의 변수를 말한다. 멤버를 선언할 때 접근 한정자를 생략하면 `private`으로 정의된다. 객체를 생성할 때는 `new` 키워드를 사용하며 **Reference Type**으로 할당된다. 단, C#에서는 `delete`와 같은 키워드가 없어서 의도적으로 할당 해제를 할 수 없다.
|
|
|
|
|
|
```
|
|
|
class Person
|
... | ... | @@ -44,13 +44,13 @@ class Person |
|
|
|
|
|
#### **정적 멤버, 인스턴스 멤버**
|
|
|
* **인스턴스 멤버** : `new` 키워드를 사용해서 메모리에 할당된 객체의 멤버이다.
|
|
|
* **정적 멤버** : `static` 키워드를 사용하여 객체를 생성하지 않고도 전역으로 사용할 수 있는 멤버이다. **정적 멤버**로 사용할 수 있는 멤버로는 *Filed*, *Method*, *생성자*가 있다. 객체에 *정적 생성자* 있으면 이 생성자를 실행하기 전에 *정적 멤버*가 초기화되며, *정적 생성자*가 없으면 *정적 멤버*를 처음 사용하기 전에 초기화가 된다.
|
|
|
* **정적 멤버** : `static` 키워드를 사용하여 객체를 생성하지 않고도 전역으로 사용할 수 있는 멤버이다. **정적 멤버**로 사용할 수 있는 멤버로는 *Field*, *Method*, *생성자*가 있다. 객체에 *정적 생성자* 있으면 이 생성자를 실행하기 전에 *정적 멤버*가 초기화되며, *정적 생성자*가 없으면 *정적 멤버*를 처음 사용하기 전에 초기화가 된다.
|
|
|
|
|
|
```
|
|
|
class Person
|
|
|
{
|
|
|
public static int id = 0; // 정적 Filed
|
|
|
public static int count; // 정적 Filed
|
|
|
public static int id = 0; // 정적 Field
|
|
|
public static int count; // 정적 Field
|
|
|
|
|
|
static Person() // 정적 생성자
|
|
|
{
|
... | ... | |