C# 4

[C#] Singleton

싱글톤을 만드는 방법에는 여러가지가 있지만,프로퍼티를 이용하여 사용하기 편하게 하는 것이 좋다.1. public class InputManager : MonoBehaviour { private static InputManager _inputInstance; public static InputManager Instance { get { if(_inputInstance == null) { _inputInstance = FindObjectOfType(typeof(InputManager)) as InputManager; if(_inputInstance) { GameObject container = new GameObject(); container.name = "InputManagerObj"; _inputInst..

NOTE/Programming 2016.10.05

[Unity] 짧은 개념 정리

[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; }..

NOTE/Unity 2016.09.29

[C#] 컬렉션

[컬렉션?]- 데이터모음(자료구조)이다.- using.System.Collections;- 대표적으로 ArrayList, Queue, Stack, Hashtable이 있다. [ArrayList]- 배열과 비슷하지만, 크기 지정없이 요소의 추가, 삭제가 용이하다.- 모든 타입의 변수를 담을 수 있다.- Add(), Insert(), Remove(), RemoveAt()Add() 리스트의 마지막 요소 다음으로 데이터를 추가Insert(index, data)원하는 위치에 데이터를 삽입Remove(data)매개변수로 전달된 data를 찾아서 제거RemoveAt(index)리스트의 해당 인덱스를 찾아 제거 [Queue]- Enqueue, Dequeue [Stack]- Push, Pop [Hashtable]- 키 ..

NOTE/Programming 2016.09.28

[C#] 일반화 프로그래밍 (펌)

출처- > http://mrw0119.tistory.com/15[일반화란?]- 서로 다른 개념에서 공통점을 찾는 것이다.- 'A'와 'B', 'C'는 다른 단어이지만 영어 이고, "ABC"와 "가나다"는 다른 글자이지만 문자이다.- 이렇게 어떤 개념을 포괄하는 공통적인 개념을 찾아 서로 다른 개념들을 하나로 묶어 줄 수 있는 것을 일반화라고한다. [일반화 메소드] [일반화 클래스] [T 변수 제약조건 만들기]- 매개변수 T를 특정 조건을 갖춘 타입으로만 치환이 가능하도록 제한할 때 'Where T : 제약조건"dmf tkdydgksek.- 예를 들어 where T : class 라 하면 형식 매개변수 T의 타입은 class여야 한다.where T : new() T는 매개변수가 없는 생성자를 가진 타입이어..

NOTE/Programming 2016.09.28