목록Unity(유니티) (75)
Deff_Dev
해당 포스팅은 고박사님의 유니티 C# 강의를 보고 공부한 내용과 추가적으로 공부한 내용을 정리한 포스팅입니다. 해시테이블 (Hashtable) 키(Key)와 값(Value)의 쌍으로 이루어진 데이터를 다룰 때 사용하는 자료 구조 해시테이블은 요소에 접근하기 위해 object 타입의 데이터를 사용한다. 키(Key)는 int, float, string, class 등 어떤 형식이든 사용 가능하다. 배열 만큼 탐색 속도가 빠르다. 해시테이블 데이터의 모든 요소를 탐색할 때는 foreach 사용 ex) hashtable[”Player”], hashtable[100] … 해시테이블 함수 HashTable.Add(object(Key), object(Value)) 해당 키를 사용하는 값을 추가한다. int, floa..
해당 포스팅은 고박사님의 유니티 C# 강의를 보고 공부한 내용과 추가적으로 공부한 내용을 정리한 포스팅입니다. 스택 (Stack) 요소 추가와 삭제의 위치가 한쪽 끝에서만 이루어지는 자료구조 LIFO (Last In First Out) Stack 함수 Stack.Push(object) 스택의 최상단에 새로운 요소 추가 int, float, string, class, null 등 원하는 데이터 추가 가능 Stack.Peek() 최상단에 있는 요소를 삭제하지 않고 반환 Stack.Pop() 최상단에 있는 요소를 삭제하고 삭제한 요소 반환 Stack.Count() 스택에 저장된 요소들의 갯수 Stack.Clear() 스택의 모든 요소 삭제 private void Awake() { // 스택 선언 Stack s..
해당 포스팅은 고박사님의 유니티 C# 강의를 보고 공부한 내용과 추가적으로 공부한 내용을 정리한 포스팅입니다. Queue 요소 추가와 삭제의 위치가 양 끝으로 나누어진 자료구조 FIFO (First In First Out) ArrayList vs Queue ArrayList는 원하는 위치에 데이터를 추가/삭제 할 수 있고, 위하는 위치에 데이터를 꺼내서 확인할 수 있다. Queue는 데이터 추가와 삭제가 정해진 위치에서만 가능하고, 중간의 데이터를 확인할 수 없다. Queue 함수 Queue.Enqueue(object) 후단에 새로운 요소 추가 int, float, string, class, null 등 원하는 데이터 추가 가능 Queue.Peek() 전단에 있는 요소를 삭제하지 않고 반환 Queue.D..
해당 포스팅은 고박사님의 유니티 C# 강의를 보고 공부한 내용과 추가적으로 공부한 내용을 정리한 포스팅입니다. ArrayList 배열과 가장 흡사한 구조를 가지고 있는 컬렉션 요소에 접근할 때는 첨자 연산자 []를 이용하고, 원하는 위치에 데이터를 추가하거나 삭제하는 것이 자유롭다. 배열과는 다르게 용량을 미리 지정할 필요가 없고 데이터를 추가하거나 삭제했을 때 자동으로 용량이 늘어나거나 줄어든다. ArrayList 함수 ArrayList.Add(object) 마지막 요소 뒤에 새로운 요소 추가 int, float, string, class, null 등 원하는 데이터 추가 가능 private void Awake() { // ArrayList 선언 ArrayList array = new ArrayList..
해당 포스팅은 고박사님의 유니티 C# 강의를 보고 공부한 내용과 추가적으로 공부한 내용을 정리한 포스팅입니다. 컬렉션(Collection) object 타입의 데이터를 담는 자료구조 배열과 함께 .NET 프레임워크가 제공하는 다양한 컬렉션 자료 구조 Array, ArrayList, Queue, Stack, Hashtable ArrayList, Queue, Stack, Hashtable대한 내용은 따로 포스팅하겠다.
해당 포스팅은 고박사님의 유니티 C# 강의를 보고 공부한 내용과 추가적으로 공부한 내용을 정리한 포스팅입니다. 멤버 변수를 public으로 선언 후 사용 시 멤버 변수의 은닉성을 지키지 못하기 때문에 → 멤버 변수의 은닉성을 지키기 위해 Get(), Set() 멤버 함수를 사용한다. 하지만 이 방법은 멤버 변수를 많이 선언할 수록 Get/Set 메소드 쌍이 많아지고, 변수에 접근한다는 개념이 아닌 메소드에 접근한다는 느낌이 크다. 해당 문제를 조금이라도 해소하기 위해 프로퍼티를 사용한다. 프로퍼티 멤버 변수의 은닉성을 보장 변수에 접근하는 것과 같이 대입 연산자 (=) 사용 가능 get {…} 접근자 : 멤버 변수로 부터 값을 읽어옴 set {…} 접근자 : 멤버 변수에 값을 할당함 value : set..
해당 포스팅은 고박사님의 유니티 C# 강의를 보고 공부한 내용과 추가적으로 공부한 내용을 정리한 포스팅입니다. 이름 공간 (namespace) 하는 일이 비슷한 클래스, 구조체를 하나로 묶어 놓은 것 매우 다양한 클래스가 존재할 때 클래스 이름이 중복되지 않도록 따로 이름을 붙여서 설정 클래스 이름과 이름공간 이름이 같아도 되지만 문제가 될 수 있으니 같은 이름을 사용하지 않는다. using (이름공간 이름); 으로 선언한 뒤 이름공간에 있는 클래스, 구조체를 사용하면 된다. 여기서 MyTest와 YourTest에는 같은 이름의 Test 클래스가 존재하기 떄문에 어느 이름공간의 Test 클래스인지 확실하게 명시해줘야 한다. MyTest.Test, YourTest.Test와 같이 해당 이름 공간의 클래스에..
해당 포스팅은 고박사님의 유니티 C# 강의를 보고 공부한 내용과 추가적으로 공부한 내용을 정리한 포스팅입니다. static 정적 메소드, 정적 변수, 정적 클래스 구현에 사용 정적 메소드, 정적 변수는 클래스의 인스턴스가 아닌 클래스 자체에 소속 정적 메소드 인스턴스 메소드와 달리 클래스로부터 객체를 생성하지 않고 직접 호출 메소드 내부에서 intance 멤버를 참조할 수 없다. new로 만들어진 클래스 객체로부터 호출될 수 없다. 정적 메소드에서 인스턴스 메소드 호출 불가능 객체 생성 없이 정적 메소드 호출 가능 정적 변수 인스턴스 변수와 달리 클래스로부터 객체를 생성하지 않고 직접 호출할 수 있다. 인스턴스 변수는 클래스 인스턴스를 생성할 때마다 메모리에 매번 새로 생성되지만 static 변수는 프로..