명명 규칙 케이스
생성자
생성자는 특별한 종류의 함수로, 클래스의 인스턴스가 만들어 질 때 자동으로 만들어진다.
ex)
(Player player = new Player(); 할 때 생성)
생성자를 사용하는 몇 가지 규칙이 있다.
1. 생성자 명은 클래스와 같은 이름이여야 한다.
2. 반드시 public 이여야 한다.
3. 반환형을 가질 수 없다.(void도 안됨)
4. 매개변수를 가질 수 있다.(오버로딩 허용)
예시를 보자
public class Person
{
public Person
{
console.WriteLine("안녕");
}
public Person(string name)
{
console.WriteLine($"안녕{name}");
}
}
Class Program
{
static void Main()
{
Person p1 = new Person();
Person p2 = new Person("james");
}
}
소멸자
소멸자는 생성자와 반대로 클래스가 쓰임을 다하면 생성된다.
하지만 우리가 직접 호출할 수는 없고, C#에서는 Garbage collector가 이 기능을 알아서 해준다.
~Person()
{
Console.WriteLine("소멸자");
}
위처럼 소멸자를 ~클래스명과동일 하게 만들수 있다.
GC.Collect();
호출은 못하지만 가비지 콜렉터를 통해 우회적으로 소멸자를 실행시킬 수 있다.
readonly / const의 차이
readonly는 런타임 상수로, 프로그램이 실행되는 순간 값을 배정한다.
생성자를 통해 값을 바꾸는 것이 가능하다!
const는 컴파일 상수로, 코드를 컴파일 할 때 값을 배정한다.
선언할 때, 값이 주어져야만 한다.