C#
C# static / 정적 메소드
doridam
2023. 7. 10. 15:29
1. static 메서드
Static 메서드는 객체를 생성하지 않고 직접 호출하는 메서드이다. 컴파일시 메모리에 곧바로 올라가기 때문에 객체를 생성하지 않고 사용할 수 있다. 또한 메서드 내부에서 클래스의 인스턴스 객체의 멤버를 참조해서는 안된다.
Car 클래스에 MaxSpeed와 MinSpeed 를 구현한 예제이다. Max는 일반 메서드, Min은 static 메서드로 구현하였다.
MaxSpeed의 경우 new로 객체를 생성한 후 사용해야하는 반면 MinSpeed는 클래스.메서드명 으로 사용된 것을 볼수 있다.
2. static 속성, 필드
static 속성 및 필드의 경우 클래스가 처음으로 사용될 때 한번 초기화되어 계속 동일한 메모리를 사용하게 된다.
static 속성 및 필드를 구현한 예제이다. Name의 속성값에 입력, 출력하는 예제이다. 객체를 생성하지 않았음에도
static으로 선언했기 때문에 입력 및 출력이 정상적으로 작동한다.
3. static 클래스
C#에서 static 클래스는 모든 클래스 멤버가 static 멤버로 되어있으며, 클래스 명 앞에 static으로 정의한다.
static으로 선언한 예제이다. 필드, 메모리, 속성을 static으로 선언하여 Program 클래스에서 new 키워드를 사용하지 않고 Name과 Prise 를 출력하였다.