C# (30) 썸네일형 리스트형 Observer pattern interface Subject ㄴ 옵저버 등록() ㄴ 옵저버 삭제() ㄴ 옵저버 업데이트 알림() class SubjectImpl implements Subject ㄴ 옵저버 등록(){ } ㄴ 옵저버 삭제(){ } ㄴ 옵저버 업데이트 알림(){ } ㄴ getState() ㄴ setState() 접근제어지시자 internal C#의 접근제어지시자: public, private, protected, internal C++에는 internal이 없다. 유니티에서는 어셈블리 정의를 해줄 수 있는데 사전 정의하지 않았을 경우 Assembly-CSharp.dll 에 전부 들어간다. But 이 경우 하나의 스크립트를 변경할 때마다 모든 스크립트를 다시 컴파일 해야 하므로 반복적 코드 변경에는 적합하지 않다. 이를 해결하기 위해 우리는 코드를 분할해줄 수 있으며, 이 분할된 코드들을 어셈블리라 한다. internal은 선언된, 즉 같은 어셈블리에서만 public으로 접근할 수 있으며 외부에선 접근이 불가능하다. Facade Pattern 클래스 간 공통적인 인터페이스가 있고 그것들을 하나로 묶어서 편하게 관리하기 위해 사용하는 패턴. 아.. 뭔가 다른 설명도 있는 듯 인터페이스가 꼭 없어도 되는데 블로그들에선 인터페이스가 꼭 있어야만 패턴이라 적어놨는데 잘못된거라고 하네 컴포넌트 이것저것 넣는 것도 퍼사드 패턴임 Command Pattern 커맨드 패턴: 무엇을 할지에 대한 정보. // ex. 불 켜지는 기능을, 알람이 울리는 기능을. 전략 패턴: 어떻게 할지에 대한 정보. 이렇게 했다가 저렇게 했다가 바꿀 수 있음 전략이 바뀜 // ex. 친절한 수업 스타일로, 엄격한 수업 스타일로. Interface 상속과 비슷, 반드시 그 기능을 구현해야 하는 의무가 생긴다. 추상 클래스는 다중상속 불가능, but 인터페이스는 다중 상속이 가능하다! 형식: 대문자 i(I)로 시작. public interface ISampleInterface 이런 식으로 적어주면 된다. 반복자, 캡슐화 정해진 순서A로 반복시킬 수 있는 놈!! 즉 도구를 쓰는 놈 enumerable 정해진 순서A로 반복하는 도구 enumerator enumerable은 enumerator를 갖고 있음. foreach같은 반복자 애들은 다 enumerable이고 enumerator를 갖고 있음 foreach는 형태가 어떻든 그냥 다음! 다음! 다음! 내놔! 하면서 처리함 IEnumerable를 상속받은 intList를 가져다 쓰고 또 그 안에서 GetEnumerator를 통해 IEnumerator를 상속받은 애를 사용함. foreach(기능을 사용하는 애)가 알아야 하는 건 안에 구현된 내용이 아니라 사용할 수 있는 형태! 이렇게 내부의 기능의 구현을 숨기면서 사용자에게 인터페이스만을 제공해주는 것을 캡슐화라고 한다. C.. 코루틴, using System.Collections; using System.Collections.Generic; using UnityEngine; public class CoroutineTest : MonoBehaviour { //Co routine 협력하는 루틴 IEnumerator timeCo; // Start is called before the first frame update void Start() { //1번 미리 인스턴스를 빼서 넣어두는 방식// timeCo = DelayTimeCo(0.2f); StartCoroutine(timeCo); //IEnumerator 리턴타입을 가진 함수를 매개변수로 쓸때, //2번 그냥 함수를 넣는 방식// //StartCoroutine(DelayTimeCo(0.2f.. type type: 클래스의 데이터 타입에 대한 정보를 가져옴 Type type = slimeA.GetType(); FieldInfo[] fields = type.GetFields(); for(int i = -; i 이전 1 2 3 4 다음 목록 더보기