Deff_Dev
[Unity/C#] static (정적 메소드, 정적 변수, 정적 클래스, 확장 메소드) 본문
해당 포스팅은 고박사님의 유니티 C# 강의를 보고 공부한 내용과 추가적으로 공부한 내용을 정리한 포스팅입니다.
static
- 정적 메소드, 정적 변수, 정적 클래스 구현에 사용
- 정적 메소드, 정적 변수는 클래스의 인스턴스가 아닌 클래스 자체에 소속
정적 메소드
- 인스턴스 메소드와 달리 클래스로부터 객체를 생성하지 않고 직접 호출
- 메소드 내부에서 intance 멤버를 참조할 수 없다.
- new로 만들어진 클래스 객체로부터 호출될 수 없다.
정적 메소드에서 인스턴스 메소드 호출 불가능
객체 생성 없이 정적 메소드 호출 가능
정적 변수
- 인스턴스 변수와 달리 클래스로부터 객체를 생성하지 않고 직접 호출할 수 있다.
- 인스턴스 변수는 클래스 인스턴스를 생성할 때마다 메모리에 매번 새로 생성되지만 static 변수는 프로그램 로딩 시 단 한번만 생성되고 공용으로 사용 가능하다.
정적 클래스
- 클래스를 정의할 때 static 키워드를 붙혀서 정의
- 모든 멤버가 static으로 정의되어야 한다.
- static 생성자는 게임 시작 시 자동으로 호출된다.
확장 메소드
- 확장 메소드는 기존 클래스의 기능을 확장하는 기법
- 다른 클래스에 인스턴스 메소드를 추가할 수 있는 기능
- 클래스 자체의 내용을 수정할 수 없고, 외부에서 그 클래스에 기능을 추가하고 싶을 때 사용
'Unity(유니티) > 유니티 공부' 카테고리의 다른 글
[Unity/C#] 프로퍼티 (0) | 2024.03.14 |
---|---|
[Unity/C#] 이름 공간 (namespace) (0) | 2024.03.12 |
[Unity/C#] 구조체, 튜플 (0) | 2024.03.12 |
[Unity/C#] 중첩 클래스, 분할 클래스 (0) | 2024.03.12 |
[Unity/C#] 메소드 숨기기, 오버라이딩 봉인 (0) | 2024.03.12 |