낑깡의 게임 프로그래밍 도전기

Unity 복습 본문

Unity C#

Unity 복습

낑깡겜플밍 2023. 10. 4. 21:46
반응형

readonly 지연된 초기화

런타임에서도 초기화를 허락

지연초기화를 하게되면 얻는 이점
- c#에서 콘스트는 컴파일 시점에서 이미 상수화 되서 못쓰는데 리드온리는 생성자에서 상수화 되니까 좀더 유현하게 할수있다??

- 매개변수로 생성될 때 배열같은 공간의 크기를 마음대로 할 수 있겟지 new 때릴때 공간 크기엔 상수가 들어가야하는데 그게 런타임의 readonly를 넣게되면 생성자 호출로 유연하게 사용가능할듯.!

- new int[3] 이렇게 안하구 new int[value] 이게 가능해져여

밑에는 가변배열이 아님 배열크기를 늘려준것일 뿐

논제네릭은 오브젝트 형태로 박싱과정이 일어난다

Stack<int>꺽쇠를 넣으면 제네릭으로 꺽쇠안 타입만 쓸 수 있다.

stack이나 리스트 등의 콜렉션을 편하게 사용하기 위해 선배개발자들이 foreach를 만드심

for와 while문 둘다 foreach로 가능
딕셔너리

해쉬테이블

Dictionary<object, object> == Hashtable

해쉬테이블은 정해지지않은 타입으로 여러가지가 들어올 수 있다

 

상속
인터페이스 상속 매니멀상속으로 사람과 고양이 다 달릴수 있음
씨샵에서 추상클래스로 만들고 순수가상함수 만들기 이렇게 되면 구현 책임도 자식에게 넘어감

 

플레이어, 에너미, 트랩 오브젝트 생성 

인터페이스를 만들고 플레이어와 에너미에게 상속. 그리고 트랩과 충돌했을 때 해당 인터페이스를 불러온다.

핵심은 괄호안에 매개변수를 활용하는 것이었다

 

인터페이스를 상속하지않고 컴포넌트로 넣는 것도 가능

펫이 ITrapDamageable을 상속박지않더라도 트랩은 ITrapDamageable만 찾으므로..

이런것을 컴포넌트 패턴이라고 한다.

전략패턴

전략패턴 : 클래스와 자식 재정의를 활용한 패턴

 

쓸때는 어떻게 확장이 되어있든 그냥 부모만 호출하여 씀.

 

전략패턴이 되려면 특정한 행위가 있어야한다.

 

액티브는 전략들의 모음

 

어댑터패턴

불켜고 끄기

반응형

'Unity C#' 카테고리의 다른 글

Unity 오브젝트풀과 애니메이션  (0) 2023.10.06
Unity 복습 플로우 차트  (0) 2023.10.06
Unity 플레이어 추적  (0) 2023.10.04
Unity 펫과 트레이서  (0) 2023.10.03
Unity 레이캐스트  (0) 2023.10.02