C# 기초

·C# 기초
C#의 메모리 구조는 총 4가지의 영역으로 나뉘어져 있습니다. 1. 스택(Stack) - 값 형식이 저장되는 메모리 공간이며 메소드 호출에 필요한 메모리가 저장됨2. 힙(Heap) - 참조 형식이 저장되는 메모리 공간이며 동적 할당된 메모리가 저장됨3. 데이터 영역(Data Segment) - 초기화된 또는 초기화되지 않은 정적, 전역변수가 저장됨4. 코드 영역(Code Segment) - 프로그램의 실행 코드가 저장됨       스택(Stack)스택은 값 형식이 저장되는 메모리 공간이며 지역변수, 매개변수, 리턴값 같은 메소드를 호출하는데 필요한 메모리가 저장됩니다. 특징으로는 스택 메모리는 LIFO(후입선출) 구조로, 메모리 할당과 해제가 매우 빠릅니다. 또한 보통 고정된 작은 크기를 가지고 있습니다..
·C# 기초
|  Activator.CreateInstance 메소드란?  지정한 매개 변수와 가장 일치하는 생성자를 사용하여 지정한 유형의 인스턴스를 만듭니다.출처 - Microsoft Activator.CreateInstance 메서드 (System)지정한 매개 변수와 가장 일치하는 생성자를 사용하여 지정한 유형의 인스턴스를 만듭니다.learn.microsoft.com  |  사용 방식 Activator.CreateInstance는 다음과 같은 두 가지 형식으로 사용할 수 있다. 1. Activator.CreateInstance(Type type) : 지정된 타입의 인스턴스를 생성2. Activator.CreateInstance(Type type, Object[] args) : 지정된 타입의 인스턴스를 생성하고,..
·C# 기초
배열 (Array) 배열이란 크기가 고정되어있는 데이터의 집합(컨테이너)이다. ↓ 선언 방식string[] FruitArray = new string[4];private void Awake(){ FruitArray[0] = "Banana"; FruitArray[1] = "Apple"; FruitArray[2] = "Orange"; FruitArray[3] = "Lemon";}//또는 string[] FruitArray = new string[4] { "Banana", "Apple", "Orange", "Lemon" }; ↓ 사용 예시string[] FruitArray = new string[4] { "Banana", "Apple", "Orange", "Lemon" };private ..
·C# 기초
delegate(델리게이트) 프로그래밍을 하다 보면, 매개변수로 값이 아닌 코드 자체를 넘기고 싶을 때가 있다.이럴 때 delegate(델리게이트)를 사용하면 좋다. 델리게이트란, 메서드 대리자이다.델리게이트를 선언하고 그곳에 원하는 메서드를 참조시킬 수 있다. 쉽게 말하면, 박스(델리게이트)를 만들고, 박스 안에 함수를 넣고 나중에 박스를 가져와 함수를 실행시키는 것이다.델리게이트는 형식(Type)이고, private 또는 protected가 아니면 외부에서 실행시킬 수 있다. 사용 방식 (같은 클래스 안의 델리게이트 사용 방식)public class DelegateTest : MonoBehaviour{ delegate void dt(int a); public void func(int a) ..
·C# 기초
https://wonseok1112.tistory.com/27  [C#][개념] 스레드와 동기/비동기프로세스(Process)와 스레드(Thread) 우리가 사용하는 운영체제는 스레드로 이루어진 프로세스들로 이루어져 있다. 프로세스(Process)란? 운영체제에서 할당하는 작업의 단위이다. 우리가 유튜브 뮤직wonseok1112.tistory.com동기/비동기와 스레드/멀티스레드의 개념에 대해 설명한 글을 보고 오시면 이해하는데 많은 도움이 됩니다.  유니티에서의 대부분 로직은 동기 방식으로 작성되며, 흐름(Flow, Stream)을 관리하거나 시간을 조절해 시행해야하는 작업은 코루틴(Coroutine)이라는 기능을 활용하여 구현된다. 비동기 방식을 유니티(Unity)에서 언제 사용하는가?사실 게임 개발에..
·C# 기초
프로세스(Process)와 스레드(Thread)   우리가 사용하는 운영체제는 스레드로 이루어진 프로세스들로 이루어져 있다.  프로세스(Process)란?운영체제에서 할당하는 작업의 단위이다. 우리가 유튜브 뮤직을 들으며 인터넷 서핑을 하는 행위가 여러 프로세스를  동시에 실행하는 것이다.프로세스 간에는 메모리 등의 자원을 공유하지 않는 등 서로 영향을 끼치지 않는다. 스레드(Thread)란? 프로세스 내에서 실행되는 흐름의 단위이다. 하나의 프로세스는 스레드를 여러 개 가질 수 있다. 스레드들은 부모 프로세스의 자원을 공유한다. 즉, 같은 메모리에 접근할 수 있다. 한 프로세스에서 여러 스레드가 자원을 공유하고 있기 때문에 잘못 구현하면 다른 스레드에도 치명적인 영향을 미쳐 전체적으로 프로세스가 오작동..
·C# 기초
dynamic 이란?  컴파일 시점이 아닌, 런타임 시점에서 형식 검사를 수행하게 하는 키워드이다.   [C#] 일반화 프로그래밍 (제네릭/Generic)C# / Unity에서 일반화란 특수한 개념으로부터 공통되는 개념을 찾아 묶어 일반화 시키는 것이다. 일반화 하는 대상은 데이터 형식(type)이다. 일반화를 할 때 object 형식을 쓰는 것이 편리하다. objectwonseok1112.tistory.com설명의 이해를 돕기 위한 제네릭 참고자료 제네릭 초기값 설정 제네릭 메서드를 호출 할 때 매개변수로 들어온 자료형(T)와 똑같은 자료형의 변수를 만들고 거기에 초기값을 설정해야 하는 예시를 들어보겠다.  제네릭 메소드 SetArray를 호출하여 특정 변수에 값을 담고, 그 값에 SetArray의 매..
·C# 기초
클래스를 상속하는 이유는 같은 코드의 작성을 피해서 재사용성을 높이는 이유로 쓰인다. 그러나 상속 관계의 클래스 구조를 잡다보면 너무 복잡해질수도 있고 상속을 하므로써 상위 클래스를 직접 참조가 가능해지고 보안이나 여러가지 이유로 클래스 상속을 막아야하는 경우가 있다. 이럴때 쓰이는 것이 sealed 키워드 이다. sealed 키워드 sealed를 클래스에 사용하는 예시  클래스 앞에 sealed 키워드를 붙이면 그 클래스는 더이상 상속받을수 없게 된다. sealed를 메서드에 사용하는 예시  위의 예시를 보면 Example 클래스를 상속받은 SubExample 클래스에서 부모의 Print 메서드를 생성하고,sealed 키워드를 넣었을 때, SubExample 클래스를 상속받은 SubExample 클래스..
입니다최원석
'C# 기초' 카테고리의 글 목록