C / C++ / C# 공부해야할 개념 목록




* 클래스는 구조체를 포함하는 개념임에도 구조체를 없애지 않는 이유
 - 호환성 때문에 남겨 둔다
 - ios 에서는 구조체를 사용하지 않기를 바란다
 - 상속과 가상함수



* C 공부해야할 목록
 - 변수, 함수, 배열, 조건문, 반복문, 구조체, 포인터



* C++ 공부해야할 목록
 - 클래스 4대 속성
 - 상속
 - 가상함수
 - 순수 가상함수
 - 오버로딩(함수에서 사용) / 오버라이딩(상속에서 재정의 하는 것)
 - 순수 가상함수로 이루어진 클래스 => 인터페이스



* C# 공부해야할 목록
 - 포인트가 없다
 - 이전에 쓰던 접근자들 ( . :: ->) 이 . 하나로 처리
 - 가비지 컬렉터
 - 델리게이트(dele·gate 대표, 위임하다) : 함수포인터 -> 콜백함수
 - 이벤트
 - 콜렉션 : STL을 C#으로 만들어 둔것. C#의 컨테이너라고 보면 된다.
      - ArrayList : STL 벡터와 (타입 불필요. 느림)
      - List(타입필요))
      - HashTable : STL map과 동일(타입 불필요)
      - Dictionary : STL map과 동일(타입 필요)
 - 제너릭 : C++의 템플릿과 같은 개념. < > 로 사용 된다.


* 델리게이트와 이벤트
- 클래스 대신에 델리게이트가 지정한 함수를 특정 시점에 실행시켜준다.
- 클래스간의 결합도를 낮추어 안정성을 올려준다.
- 하나의 클래스인 이벤트 => 델리게이트
- 여러개 클래스인 이벤트 => 이벤트





* 유니티 엔진에서만 사용되는
 - 코루틴(Coroutine) : 멀티 쓰레드와 비슷한 개념. 병렬 프로그래밍. 비동기식 프로그래밍
     yield return new WaitForSeconds(0.1f);
     함수 동작을 0.1초간 지연 시켜라는 명령이 가능
     프레임 종속이 아닌, 시간 기반의 서브루틴 구동 가능

댓글