Project의 구성단위중 하나로써 보통 한개의 Project에 여러개의 class를 가지고 있다.
Main()
Project의 시작점.
멤버
class를 이루는 요소들을 멤버라고 한다.
함수, 메소드, class등 class안에 속한 것들을 뜻한다.
C#에서 추구하는 객체 지향의 핵심이다.
프로젝트의 볼륨이 클 경우 동일 기능의 코드가 중복될 수 밖에 없다.
이것을 클래스라는 단위로 더하는 기능, 곱하는 기능, 정렬하여 처리 하는 기능등으로 분류하여, 중복되는 코드를 줄이고 기능단위로 모듈화하여 프로그램을 건강하게 관리할 수 있다.
※추가 참고사항
[SerializeField]
private int age;
//[SerializeField]는 다른 클래스에는 공개되지 않고, Unity Component에 넣고 싶을때 사용할 수 있다.
<예시_1>

public선언이 없으므로 Happy class에서 호출 할 수 없다.
<예시_1-1>

<예시_1-1> 같이 public을 선언하면 Animal 클래스에 있는 int dog와 string cat을 호출할 수 있다.
<예시_2>

<예시_2>과 같이 static을 선언하는 경우 인스턴스 생성없이 바로 호출하여 사용할 수 있다.
외부 class에서 초기화하여 사용할 수 있는 변수.
get; set; 키워드에 private을 선언하여 외부로 인해 값이 변경되는걸 막거나, if문등 조건을 걸어 반환을 제한 시킬 수 있다.
<예시_1>
class Test
{
public string name { get; set; }
public voic Print()
{
Console.WriteLine(name);
}
}
class Program
{
static void Main()
{
Test test = "초기화";
test.Print();
}
}
//결과값: 초기화
Test클래스에 필드값을 생성하고 다른 클래스에서 호출하여 초기화하여 사용 할 수 있으나, Test에 있는 필드 값이 변경되면 안되는 경우
<예시_2>
public string name { get; private set; } = "읽기 전용 속성";
필드값을 private으로 선언하여 상수로 지정하여 읽기전용으로 설정 할 수 있다.