직렬화의 조건
- 구조체 혹은 클래스 여야 한다.
- 기본적으로 모노비헤비어를 상속한다면 충족되는 조건들이다.
- 모노비레비어는 시스템이 직렬화를 시켜주기 때문이다.
- public 으로 선언하면 기본적으로 직렬화를 한다는 의미다.
- private로 선언하여 serializeField를 명시하면 직렬화를 한다는 것이다.
셀렉션 Selection
기억 안나는 이론
- 어제 사용했던 using 사용법
- 스크립트 에이블 사용했을때 에셋데이터베이스
- 에셋데이터베이스의 리프레쉬함수
using 별칭
기타
- 바이너리 포메터 사용 이유 : 녹음
- 복사 생성자
- 얕은 복사
- 깊은 복사
복사 생성자
- 복사 생성자 쓰는 이유 : 자기 스스로의 객체를 초기화할때사용한다. / 얕은 복사 문제를 깊은 복사 문제로 해결하기 위해서다.
- 자신의 타입으로 객체를 초기화할때 (A ob = new A(); / A ob2 = new A(ob);)
- class A{ int a; B obb - new B(); //얕은 복사; 주소 자체를 복사한다. A(A ob) { this.a = bo.a; //깊은 복사 / 주소에 있는 값들을 복사해서 가져온다. } }
- 함수 파라미터로 자신의 클래스를 받을때
- A Test(A ob) { ~ }
- 리턴될 때
- A Test(A ob) { ~ return ob; }
- 다운 캐스팅?
- ob2 = ob;
- 얕은 복사 : 주소 자체를 복사하는 기능
- 깊은 복사 : 주소 내부의 값을 복사하는 기능
기억 안나는 이론
연산자 오버로딩
- 즉, 함수호출의 재정의다.
- 연산자를 중복해서 사용한다.
- 구조체도 연산자 오버로딩이 가능하다.
헤쉬코드
- 객체는 헤쉬코드를 갖는다. 녹음 23분 정ㄹ하지
Equals
- ob = ob2; / ob.Equals(ob2); ⇒ false가 나오지만 객체의 값이 같으니 닽은 객체로 봐야한다.
- Coordinate를 확인해야한다.
기타
- 카톡에 올려진 링크 타고 들어가서 오버로딩 가능 연산자 정리해놓기