[sealed]
- 봉인클래스 즉, 상속을 할 수 없게 만든다.
- 메소드에 선언하면, 상속은 할 수 있어도 상속된 클래스에서 메소드를 오버라이드 못하게 막을 수도 있다.
[lock]
- critical section 처럼 문 블록을 임계 영역으로 표시하는 것.
- 즉 한번에 한 스레드만 임계 영역의 처리를 할 수 있는 것.
class Account { decimal balance; private Object thisLock = new Object(); public void Withdraw(decimal amount) { lock (thisLock) { if (amount > balance) { throw new Exception("Insufficient funds"); } balance -= amount; } } }
[Type]
- 클래스 형식, 인터페이스 형식, 배열 형식, 값 형식, 열거형 형식, 형식 매개 변수, 제네릭 형식 정의 및 개방형 생성 제네릭 형식이나
폐쇄형 생성 제네릭 형식에 대한 형식 선언..
[ConstructorInfo]
- 클래스 생성자의 특성을 검색하고 생성자 메타데이터에 대한 액세스를 제공..
[Activator.CreateInstance]
- Activator : 개체의 형식을 로컬 또는 원격으로 만들거나 기존 원격 개체에 대한 참조를 얻는 메서드를 포함..
- 해당 형식의 기본 생성자를 사용하여 지정된 형식의 인스턴스를 만든다. Object형 반환.
▽ 궁금한 코드부분
public abstract class SingleTonwhere T : class { private static object s_syncObject = new object(); private static T s_instance = null; public static T Instance { get { if (null == s_instance) { lock (s_syncObject) { if (null == s_instance) { Type t = typeof(T); ConstructorInfo[] constructors = t.GetConstructors(); if (constructors.Length > 0) { throw new InvalidOperationException(String.Format("{0} - private 생성자 강제 구현 필요(적어도 하나의 접근가능(public) 생성자가 존재하므로 싱글톤 생성이 불가합니다.)", t.Name)); } s_instance = (T)Activator.CreateInstance(t, true); } } } return s_instance; } } }
- private static인데도, lock을 걸어주는 이유 : 혹시 모르는 동시 접근을 위해서
- 받아온 클래스의 타입을 받아서 CunstructorInfo -> 생성자 만드는 것
[Time.realtimeSinceStartup]
- 게임이 시작된 시간으로부터 경과한 실제 시간을 나타내며, 단위는 초를 사용.
- 플레이어가 일시정지를 한 경우에도 시간 값이 증가.
▽ 궁금한 코드 부분
m_deltaTime = Time.realtimeSinceStartup - m_prevRealTime; m_prevRealTime = Time.realtimeSinceStartup;
- Unity Time : 플레이 될 때만 흘러감
- Real Time : 플레이 되지 않을 때도 백그라운드에서 흘러감
[base]
- 상속을 사용하는 클래스에서 부모 객체의 메소드를 호출하려면 base 클래스를 사용하여 접근하면 된다.
- base.메소드명();
'NOTE > Unity' 카테고리의 다른 글
[Unity] Mobile & Input 2 (0) | 2016.09.30 |
---|---|
[Unity] Mobile & Input (0) | 2016.09.29 |
[Unity] 힙 메모리 최적화와 오브젝트 풀링 (펌) (0) | 2016.09.27 |
[Unity] C# 스크립팅 마스터하기 BOOK 요약정리2 (0) | 2016.09.27 |
[Unity] C# 스크립팅 마스터하기 BOOK 요약정리1 (0) | 2016.09.26 |