본문 바로가기

(C/C++ 속성 정리) 29일 차 : 상속이란? 안녕하세요 넬다이입니다. 오늘은 상속에 대해서 설명을 드릴 텐데요 상속을 잘 사용하면 개발이 매우 편하고 은닉성이라던지 다향성을 이용한 다양한 개발이 되기 때문에 이해를 잘하시면 좋을듯싶습니다. 그러면 오늘 정리 시작하겠습니다 상속이란? 상속이란 여러분들이 잘 알고 있는 상속(부모님이나 어떤 사람에게 무언가를 물려받는다)이라는 뜻으로 많이 기억하시고 알고 계실 텐데요 상속이란 말 그대로 상속이라는 프로그램 문법을 통해서 물려받는다는 것으로 이해하시면 됩니다. 제가 여자 친구에게도 상속에 대해서 설명해줄 때는 부모님의 집이 있는데 부모님의 집을 내가 사용할 수 있다는 개념? 부모님 집에 있는 가구 및 주방도구를 사용하는 것 또한 부모의 것이지만 자식인 나도 사용을 할 수 있다고 설명을 하는데요. 그만큼 부.. 더보기
(C/C++ 속성 정리) 28일 차 : 복사 생성자의 이해 안녕하세요 넬다이입니다. 오늘은 복사 생성자에 대해서 알아보는 시간을 가져보도록 하겠습니다. 복사생성자 복사 생성자를 알기 위해서는 클래스가 생성될 때 기본적으로 생성되는 것들이 있습니다. 그것은 1. 기본 생성자 , 2. 소멸자 , 3. 기본 대입 연산자 , 4. 기본 복사 생성자 이렇게 있습니다. 이것은 꼭 암기해주시기를 부탁드립니다. 여기서 기본적으로 기본 복사 생성자가 생성이 되는데요 기본 복사 생성자는 전일 차에서 말하는 얕은 복사를 진행하는 생성자를 만들어 주게 됩니다. 쉽게 코드로 보시지요 class CObj { private: intm_iValue; intm_iValue2; public: //이것은 우리가 생성하는게 아닌 생성자가 없다면은 컴파일러가 자동으로 생성해주는 함수입니다. /*CO.. 더보기
(C/C++ 속성 정리) 27일 차 : 깊은 복사와 얕은 복사의 이해 안녕하세요 넬다이입니다. 오늘은 정말 오랜만에 이렇게 글을 쓰게 되었습니다. 정말 죄송합니다. ㅠㅠ 자 오늘 주제는 깊은 복사와 얕은 복사의 이해입니다. 이해만 하신다면은 쉬운 주제가 될 것이고 그렇지 못하면은 수많은 버그를 만들 수 도 있기 때문에 잘 이해 부탁드립니다 자 일단 우리는 깊은 복사와 얕은 복사를 알아야 되는데요 깊은 복사와 얕은 복사는 메모리 할당 과정에서 메모리 할당 후 그 내부의 값을 복사하는 과정에서 이 현상이 발생하게 됩니다. 얕은 복사 얕은 복사는 메모리 할당을 하고 나서 그 내부의 값을 대입과 같은 행위를 한 뒤 메모리를 해제할 때 문제가 발생하게 됩니다. 예를 들어서 코드로 보여드리겠습니다. class CObj { private : char* m_pName; public : .. 더보기
(C/C++ 속성 정리) 26일 차 : Static이란? 및 특징 안녕하세요 넬다이입니다. 오늘은 Static에 대해서 정리를 해보겠습니다. static 변수의 특징 static 은 정적인 혹은 고정된 정지 상태이며 정적인 특성을 가지고 있습니다. 전역 변수와 비슷한 특징을 가지며 공간을 할당받고 초기화가 이루어지면 프로그램이 종료될 때까지 소멸이 일어나지 않으며 재초 기화도 일어나지 않습니다. 전역 변수와는 다르게 중괄호(선언된 지역) 내부에서만 접근할 수 있습니다. 간단한 예제 소스입니다 #include using namespace std; void RenderStatic(void) { static int iTemp = 0; cout 더보기
(C/C++ 속성 정리) 25일 차 : Const 한정자란? 안녕하세요 넬다이입니다. 오늘은 Const 한정자에 대해서 알아보는 시간을 가져보겠습니다. const 한정자(제한자) const는 예약어입니다. 예약어는 c++에서 변수명이나 함수명으로 사용할 수 없습니다. 기호 상수를 초기화할 수 있수 없으며 상수의 값을 변경하는 것 또한 안된다. 예로 불가한 코드를 보여드리겠습니다. const int Student = 10; Student = 20; const 가 붙으면 상수 화가 이루어지기 때문에 한 번 초기화된 값으로 고정이 되고 절대 변경할 수 없다. class CTest { private: const intm_iTest; public: voidRender(void) { cout 더보기
(C/C++ 속성 정리) 24일 차 : 객체지향 프로그래밍이란? 안녕하세요 넬다이입니다. 오늘은 객체지향 프로그래밍이란? 에 대해서 정리해 보도록 할 텐데요 기존에는 C언어의 문법이나 기능을 다루었다면은 이제는 C++의 기능들을 다뤄보는 시간을 가져보겠습니다. 객체 지향 프로그래밍이란? 프로그램을 사람이 사는 실세계로 옮겨 놓은 형태, 자신을 나타내는 정보와 실행하는 기능을 포함한다. 클래스는 어떠한 틀을 말하며 사람이라는 클래스가 있다면 학교에 있는 실제 학생들이나 선생님들은 실체화된 객체라고 생각하면 된다. 클래스를 배우기 전에 객체 지향 프로그래밍의 특징에 대해서 알아보도록 하겠습니다. 추상화(abstraction) 실체를 개념화시킨 클래스 정의 작업을 뜻하며 어떤 클래스를 만들 때 포함되어야 할 특성이나 기능들을 개념화시키는 것을 추상화라고 한다. 캡슐화(en.. 더보기
(C/C++ 속성 정리) 6일 차 : 반복문(for , while) 안녕하세요 넬 다이입니다. 오늘은 반복문 차례가 돌아왔어요!. 오늘도 힘드시겠지만 어려운 파트는 아니니깐 다들 힘내세요!!! 반복문 여러 번 출력을 해야 할 때, 반복문을 사용해서 간단한 코드 몇 줄로 원하는 부분을 반복적으로 출력이 가능하기 때문이다. while 문 while(내부의 조건이 true 가 된다면) 계속해서 루프를 돌게 된다. while(1); 이런 식으로 false가 아닌 값은 모두 true이다. 0은 false이고 0이 아닌값은 전부 true이다. int iAA = 0; while(true) { //while 중괄호 영역을 탈출하기 위해서 //break 사용이 가능하다. break 가 있다며은 반복문 밖으로 나간다. if(iAA > 10) break; cout 더보기
(C/C++ 속성 정리) 5일 차 : 난수 안녕하세요 넬다이입니다. 오늘은 5일 차 속성 정리 시간이 돌아왔습니다. 오늘 정리할 주제는 난수입니다 보고 계시는 분들도 파이팅입니다.! ㅎ 오늘은 분량이 조금 적을 수도 있는데 뒤에 내용을 정리하는 겸 난수라는 것이 무엇인지 가지고 놀면서 테스트해보시면 좋을 거예요.ㅎ 저는 게임을 만드는 개발자인데 게임에서는 난수가 정말 중요하기 때문에 그냥 하루로 빼서 정리해봤어요 ㅎ 별 내용은 없지만요... 난수 난수란 무엇인가? 특정한 순서나 규칙이 없는 무작위의 숫자를 말합니다. 컴파일러에서 제공되는 난수 추출 함수가 rand 함수입니다. 이 함수는 stdlib.h 에 정의되어 있으며 컴파일러마다 rand함수를 통해 구할 수 있는 난수의 최댓값은 다르다, win32 기반, mvsc 9.0 버전에서는 0~327.. 더보기