Learning
When: 1학년 6월 22일
How:
학교에서 static에 대해 배웠는데, 수업만으로는 완벽하게 이해가 된 것 같지 않아서 공부를 하게 되었습니다.
Understanding:
static은 클래스에 소속되는 메서드나 변수 등에 붙는 키워드인데,
이 키워드가 붙은 건 객체를 만들었을 때 생기는 게 아니라, 클래스 자체에 붙어 있게 됩니다.
이게 무슨 말이냐 하면, 보통 클래스는 설계도일 뿐이고, 그 클래스로 객체를 만들어서 객체를 통해 뭔가를 하는 게 일반적인 C#의 사용 방식입니다. 하지만 예를 들어, 지금까지 만든 객체의 수를 세야 한다고 해봅시다.
그럴 때마다 각 객체가 자기 속성으로 객체 수를 가지는 건 말이 안 되니까,
클래스에 직접 붙은 변수(static)를 만들어서 객체가 생성될 때마다 그 값을 1씩 증가시키면 됩니다.
internal class Cat
{
public string Name { get; set; }
public int Age { get; set; }
public static int Count { get; set; }
public Cat(string name, int age)
{
Name = name;
Age = age;
Count++;
}
}
이처럼 static을 사용하면,
Count는 객체마다 따로 존재하는 게 아니라 Cat 클래스 자체가 하나만 갖고 있는 값이 됩니다.
그래서 Cat.Count처럼 객체를 만들지 않고도 사용할 수 있습니다.
이건 실제로 게임 개발에서도 진짜 자주 쓰이는 개념이라서
정확히 이해해 두면 큰 도움이 될 거라고 생각합니다.
Result: static으로 수식된 것은 객체와는 별개로 클래스 자체에 소속되기 때문에,
객체를 생성하지 않아도 클래스명.변수 또는 클래스명.메서드() 형식으로 사용할 수 있습니다.
'C#' 카테고리의 다른 글
| [C#] enum 키워드 (0) | 2025.06.25 |
|---|---|
| [C#] const 키워드 (0) | 2025.06.24 |
| [C#] 객체 지향 프로그래밍 (0) | 2025.06.21 |
| 절차 지향 프로그래밍 (0) | 2025.06.20 |
| [C#] as 키워드 (0) | 2025.06.19 |