객체 5

#082_닷넷(.NET)_.Net Framework 기본 - 객체 직렬화

안녕하세요 삽잡이입니다. 객체의 직렬화를 살펴보도록 하겠습니다.객체의 직렬화는 '객체'를 바이트 배열로 써놨다가, 다시 바이트 배열로 복원하려고 쓰는 기능입니다. 이제부터 본격적으로 stream에 대한 이야기를 하려고 하는 것입니다. 파일, 스트림을 만든 이유는 객체에 무엇인가를 쓰기 위해서입니다.즉, 어플리케이션의 무엇인가를 쓰기 위해서라는 것이죠. 그런데, 이전 시간에 공부한 내용은 객체를 사용한 것이 아닙니다. 객체 지향에서 과연 얼만큼문자열만을... 혹은 정수만을 읽고 쓰겠습니까?객체가 주가 되는 일이 다반사지 않겠습니까? 프로그램은 사용자와 소통하는 UI영역과 이 UI의 데이터를 보관하고 보여주기 위한 데이터 모델로 나뉠 수 있습니다. 데이터는 다시 UI와 밀접한 View 모델이라는 것과,관련성..

#077_닷넷(.NET)_.Net Framework 기본 - 객체 컨텍스트

안녕하세요 삽잡이입니다. 닷넷에서의 프로세스는어플리케이션 도메인이 한개 이상 존재할 수 있다고 했었습니다.기본 APP Domain과 그 이외에 사용자가 이름을 붙일 수 있는 Sub App Domain들이 있지요.이를 닷넷에서는 논리적인 프로세스라고 볼 수 있다고 했습니다. 그런데, APP Domain에는 컨텍스트라는 것이 포함이 됩니다.기본은 무조건 Context 0 이지요.즉, App Domain이 만들어지면, 기본적으로 컨텍스트가 만들어지는데,이는 사용자가 만들고 제거해주는 것이 아닙니다.사용자가 만드는 컨텍스트는 0번을 제외한 다른 번호의 컨텍스트가 되는 것이지요. 닷넷의 프로세스가 기본적으로 뜰 때 App Domain이 생성되듯이,기본 컨텍스트도 생성이 됩니다. 이러한 컨텍스트는 도대체 무엇일까요..

#026_시(c)시(c)해서 C++?!_객체의 생성과 소멸의 책임

안녕하세요 삽잡이입니다~! 이번 시간에는 지금껏 제가 공부해오며 간과하던객체와 소멸에 대한 책임에 대해 알아보도록 하겠습니다... C#이나 java와 같이 비교적 나온지 얼마 되지 않은 언어들 같은 경우에는알아서 메모리를 관리해주게 됩니다..따라서 생성과 소멸에 대해 큰 신경을 쓰지 않아도 됩니다. 하지만, C나 C++ 같이 훨씬 이전에 나온 언어들 같은 경우에는그 당시 컴파일러를 만드는 기술이 지금보다 안좋았겠죠... 아무튼... 생각을 안한지는 모르겠지만,객체의 생성이 되며 소멸될때까지 관리되는 heap 메모리 영역에서의메모리 관리만큼은 개발자에 책임이 있습니다.내가 응가 쌌으면 내가 치워야져.... 앗... 나의 메모리들이 똥이라는 건 아닙니다... 푸하하하아... 드럽게시리... C에서는 mall..

#005_시(c)시(c)해서 C++?!... 조금은 불편한 생성자...

자... 한번 생성자부터 소멸자까지 한번 쓸어담아봅시다!물론 예제를 통해서 말입니다 하하... 우선, header입니다. 1234567891011121314151617181920212223242526#pragma once#include using namespace std;class Stu{ int num; string name; int hp;public: // 기본 생성자 //Stu(); // 생성자 Stu(int num); Stu(int num, string name); // 복사 생성자 Stu(const Stu &stu); // 기본 소멸자 //~Stu(); void Study(); int GetHp(); int GetNum();};cs 헤더는 어떤 역할을 담당하느냐...이런 형식들이 있다... 이런..

#004_시(c)시(c)해서 C++?!... C와 C++의 변수와 동적할당

안녕하세요 삽잡이입니다~ 이번시간에는 C와 C++의 비교를 통해 변수와 동적할당에 대해 살펴보고자 합니다. C++ 에서 malloc과 free 사용이 불가능한 것은 아닙니다.하지만 조금 더 안전하게 사용하기 위해서 new 와 delete를 사용한다고 합니다.자세히는 잘... 흙... 아무튼 예제 보시죠... 123456789101112131415161718192021222324252627282930#include #include using namespace std; void main(){ int i = 2; // C++에서 가능한 변수 선언 및 초기화 int j(2); // C 동적할당 int* p1 = (int*)malloc(sizeof(int)); // C++ 동적할당 int* p2 = new int..