Please enable JavaScript.
Coggle requires JavaScript to display documents.
ref, 실전 Text RPG 만들기, Delegate, Event, 복사와 참조의 차이, Static, 오버로딩, 생성자, 문자열…
ref
나의 참조값을 넘길 때 사용하는 것.
예시 )
https://www.notion.so/C-1bf1fe55fe64490095cc49bce826dce3#8678dd554a2f4acabc189de298bd6a6d
:warning: 복사로 작업하는것과 참조로 작업하는것의 차이가 있다. ref는 참조로 작업하는 것임.
:!!: ref로 작업하는 것은 Swap같이 값을 뒤바꾸기 할때 유용하다.
예시)
https://www.notion.so/C-1bf1fe55fe64490095cc49bce826dce3#6437e78b885045fca4fb30ebfcea6538
out
:check: ref와 같이 쓰이고 값을 여러개 뱉어줄 때 유용하다
예시)
https://www.notion.so/C-1bf1fe55fe64490095cc49bce826dce3#32a5e76ebb814463a17c1bfd252065a9
실전 Text RPG 만들기
Player.cs
Game
:warning: 게임진행에 관련된 전반적 사항을 진행하는 클래스
Monster.cs
Program.cs
Creature.cs
전부 만드는 패턴이 같음을 알것!
https://www.notion.so/C-1bf1fe55fe64490095cc49bce826dce3#c752f189e35d427db8933e7d7ad611bc
Delegate
:!!: 특히 UI 버튼을 누를때 많이 사용된다
:warning: UI 버튼이 눌렸을때 특정 기능을 수행하도록 하는데 그 기능은 게임 로직과 얽히면 코드가 스파게티가 된다.
:smiley: callback 방식이라고 한다.
https://www.notion.so/C-1bf1fe55fe64490095cc49bce826dce3#a121d00b6c6e40d8aac0e0b863202378
원형, 외우도록 하자.
https://www.notion.so/C-1bf1fe55fe64490095cc49bce826dce3#458ca97e8fa4410e99f63555c4e682d2
응용방법, 델리게이트 체이닝
https://www.notion.so/C-1bf1fe55fe64490095cc49bce826dce3#c21dd34d246d46de93f7685b730064b4
:check: 순차적인 프로그래밍이 아닌 요청하는 역할을 할때 사용된다.
Event
:check: 알고싶어하는 모든 곳에 넘겨줄때 사용한다.
:smiley::옵저버 패턴이라고 한다!
:!!: 델리게이트를 외부에서 멋대로 호출하는것을 막기 위해 한번더 래핑하는 행위를 이벤트라고 함.
예시)
https://www.notion.so/C-1bf1fe55fe64490095cc49bce826dce3#408df3287b854e918785d245869dd9b9
복사와 참조의 차이
Class
예시)
https://www.notion.so/C-1bf1fe55fe64490095cc49bce826dce3#5e383b1c426b4239a4e9f07bc7aba652
Struct
예시)
https://www.notion.so/C-1bf1fe55fe64490095cc49bce826dce3#125d5e8e54364c9fba76143fce731a7f
Static
:star: 생성자와 함께 유용하게 쓰일 수 있다
:check: 응용으로 객체를 만들때 마다 갯수를 증가시켜서 전체 객체가 몇개인지 파악할 수 있다.
예시)
https://www.notion.so/C-1bf1fe55fe64490095cc49bce826dce3#97561bcee44c412e96ccbbd031c8df55
:check: 기본적인 개념은 유일성보장으로 같은 클래스로 다른 속성의 객체들을 무한히 만들어도 static 변수 혹은 함수는 같은 값을 공유한다.
오버로딩
선택적 매개변수의 사용
:check: 선택적으로 매개변수를 주지 않으면 지정한 매개변수로 계산됨.
예시)
https://www.notion.so/C-1bf1fe55fe64490095cc49bce826dce3#2ca478528bc849599aa932999ad2a589
생성자
:warning: Class의 이름과 같아야한다
:check: 클래스를 새로 만들때 디폴트로 가질 속성을 정의해 줄 수 있다.
예시)
https://www.notion.so/C-1bf1fe55fe64490095cc49bce826dce3#a0811a8d662d4853be2b84dd0958a0df
:!:활용)
https://www.notion.so/C-1bf1fe55fe64490095cc49bce826dce3#efd38b63ae6544a29962cc6d25271eaa
문자열 기능
https://www.notion.so/C-1bf1fe55fe64490095cc49bce826dce3#29fcd64f63344af58cca56f2bd0e6671
Nullable
일반화(Generic)
:check: 나만의 자료구조를 만들때 사용한다
클래스의 일반화
https://www.notion.so/C-1bf1fe55fe64490095cc49bce826dce3#1c6a3465f148456cb83edd219cc1e232
함수의 일반화
https://www.notion.so/C-1bf1fe55fe64490095cc49bce826dce3#577b74564b3842a5a5897be4e2e8d97a
조건이 추가된 일반화
https://www.notion.so/C-1bf1fe55fe64490095cc49bce826dce3#916a315f45544ef197cd55d1f89a5c47
코드 기초 문법(모르는거 위주로 정리)