목록Unity(유니티)/유니티 공부 (72)
Deff_Dev
해당 포스팅은 고박사님의 유니티 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 변수는 프로..
해당 포스팅은 고박사님의 유니티 C# 강의를 보고 공부한 내용과 추가적으로 공부한 내용을 정리한 포스팅입니다. 구조체 클래스와 유사한 구조를 가지고 있다. 클래스처럼 변수와 메소드를 가질 수 있다. 클래스는 객체를 만들고 추상화 하는데 목적이 있고, 구조체는 데이터를 담기 위한 자료 구조로 사용한다. 편의를 위해 변수를 public으로 선언하는 경우가 많다. 특징 클래스 구조체 키워드 class struct 형식 참조 형식 값 형식 복사 얕은 복사 깊은 복사 인스턴스 생성 new 연산자와 생성자 필요 선언만으로도 사용 가능 구조체 변수에 new를 붙일 때 기본 생성자를 이용해 구조체 내부 모든 변수의 값을 초기화한다. 구조체 내부 변수에 바로 접근 가능하다. 구조체 변수에 new를 붙이지 않을 때 직접 ..