전체 글(603)
-
직렬화
직렬화(Serialization)정의(definition) 직렬화(Serialization)는 메모리 내부의 오브젝트(object)나 오브젝트 그래프(object graph; 서로를 참조하는 오브젝트들의 집합)을 바이트(bytes)로 이루어진 스트림(stream)이나 XML 노드들로 만들어 보관되거나 전송될 수 있도록 변환하는 것을 말한다. 역직렬화(Deserialization)는 반대로 데이터 스트림을 메모리 내부의 오브젝트나 오브젝트 그래프로 재구성하는 것을 말한다. 목적(purpose)직렬화와 역직렬화는 주로 다음 두 목적으로 사용된다.오브젝트를 네트워크나 어플리케이션 경계 상으로 전송하는 목적.파일이나 데이터베이스로 오브젝트의 표현(representation)을 보관하는 목적. 유니티에서의 직렬화..
2015.08.03 -
Delegate
Delegate정의메소드들에 대한 참조를 가질 수 있는 하나의 사용자 정의 타입이다. 원리Delegate 에 메소드의 주소를 할당한 후 Delegate 를 호출하면 Delegate 가 메소드를 호출한다. 특징C 에서의 함수포인터와 같다.Delegate 는 인스턴스가 아닌 형식(Type) 이다.delegate 키워드를 사용한다.함수 자체를 캡슐화하는 기능을 가지고 있다. 사용 이유메소드를 대신해 호출을 받아서 우리가 원하는 메소드를 대신해서 호출하기 위해 사용한다. 사용 방법1. Delegate 선언한다. //(C 언어의 함수 형태와 같다. ) 한정자 delegate 반환형식 델리게이트이름 (매개변수);2. Delegate의 인스턴스를 생성한다. 인스턴스를 생성할 때는 Delegate가 참조할 메소드를 매..
2015.08.03 -
데이터 보관하기
변수- C# 코드를 작성하면서 변수를 만들 때는(선언, Declare) 단순히 변수를 만드는 것이 아니라 그 내면의 메모리 공간도 함께 생각해야 한다. - 변수는 데이터를 담는 그릇과 같다. 용량이 넘어서면 넘치듯이 변수 또한데이터 형식의 크기를 넘어선다면 오류가 발생한다. 값 형식(Value Types)데이터 삭제 - 해당 지역이 끝나면 데이터 삭제저장 위치 - 스택 참조 형식(Reference Types)데이터 삭제 - 해당 데이터 사용의 끝을 알리면 가비지 컬렉터가 데이터 삭제저장 위치 - 힙 Object 타입- 객체라는 뜻으로 사용되는데, 어떠한 물건(데이터)이든지 다룰 수 있는 형식을 말한다.- 상속을 받으므로써 데이터와 메소드를 물려받은 자식으로써 부모와 똑같이 동작할 수 있게되어 자식을 부모..
2015.08.03 -
C#이란?
비전2000년 6월 마이크로소프트사가 .NET 플랫폼을 위해 개발, .NET프레임 워크에 최적화 되어있는 언어.C++의 컴퓨팅 파워, 비주얼 베이직의 프로그래밍 편의성을 결합하여 만든 객체지향 프로그래밍언어.C++의 객체지향성, 자바의 분산 환경처리에 적합한 다중성 등을 모두 지니는 컴포넌트 기반의 소프트웨어 개발 패러다임을 반영.C#은 C++를 계승한다는 의미로 붙여 진 것이지만 실제로는 완전히 다른 언어.(하지만 C나 C++ 로 작성된 소스 코드는 C#에서 컴파일 되지 않고 C#만 마이크로소프트사에서 만들어짐 ) .NET앞으로의 인터넷 서비스는 모든 종류의 기기에서 사용할 수 있어야 한다는 생각에서 나온 플랫폼.각종 프로그램을 유기적으로 연결대 최대 성능을 내는 일련의 소프트웨어 + 웹 서비스 계획...
2015.08.03 -
유니티 프로젝트 두 개 나오게 하기(for mac)
삽질을 파워하게 하다가 찾아냈다.터미널에서 이렇게 실행하면 된다.
2015.08.02 -
객체 생성과 소멸에 가상함수 호출하지 않기(effective c++ 09)
객체가 생성 시기본 클래스 생성자는 파생 클래스 생성자 보다 앞서서 실행되기 때문에, 기본 클래스 생성자가 동작할 시점에 파생 클래스 데이터 멤버는 아직 초기화된 상태가 아니다. 문제점파생 클래스의 객체가 생성 될 때 부모 클래스의 생성자로 먼저 올라가고 부모 클래스의 생성자에서 가상 함수를 호출할 경우 파생 클래스의 객체는 생성 시 기본 클래스의 타입이므로 기본 클래스의 가상 함수를 호출 하게 된다.호출되는 가상 함수는 모두 기본 클래스의 함수들로 결정될 뿐만 아니라 런타임 타입 정보를 사용하는 언어 요소일 경우에도 마찬가지로 기본 클래스의 타입으로 판별된다.기본 클래스의 생성자에서 어쩌다 호출된 가상 함수가 파생 클래스 쪽으로 내려가게 되면 아직 생성이 완료되지 않은 파생 클래스의 데이터를 건드리게 ..
2015.08.02