* 객체지향 프로그래밍의 이해 객체(Object) : 사물, 또는 대상 즉, Object는 우리 주변에 존재하는 물건(연필, 컴퓨터, 컵 등)이나 대상(친구, 선생님 등) 전부를 의미한다. 그렇다면 객체를 지향하는 프로그래밍..
들어가기 앞서, Chapter 4는 객체지향의 중요 요서인 '정보은닉'과 '캡슐화'에 대해 이야기한다. 앞서 제시한 예제에서는 멤버변수를 private로 선언하지 않았는가? 이제 그 이유를 설명하겠다! 처음 배울 때 정보..
* 클래스와 구조체의 유일한 차이점 - 키워드 struct를 대신해서 class를 사용하면 구조체가 아닌 클래스가 된다,, - 외부에서 클래스 내부의 private 변수를 초기화 할 수 없음 -> 클래스는 정의를 하는 과정에서..
*용어정리 : 객체(Object), 멤버변수, 멤버함수 더 앞서 나가기 전에 용어정리! 멤버변수 : 클래스를 구성하는(클래스 내에 선언된) 변수 멤버함수 : 클래스를 구성하는(클래스 내에 정의된) 함수 (여기서 멤버란..
* 객체지향 프로그래밍의 이해 객체(Object) : 사물, 또는 대상 즉, Object는 우리 주변에 존재하는 물건(연필, 컴퓨터, 컵 등)이나 대상(친구, 선생님 등) 전부를 의미한다. 그렇다면 객체를 지향하는 프로그래밍..
* 구조체의 등장배경은 무엇인가? -> 연관 있는 데이터를 하나로 묶으면, 프로그램의 구현 및 관리가 용이해짐 소프트웨어를 단순히 표현하자면, "소프트웨어 = 데이터의 표현 + 데이터의 처리" 여기서, 표..
*Call-by-value & Call-by-reference Call-by-value : 값을 인자로 전달하는 함수의 호출방식 Call-by-reference : 주소값을 인자로 전달하는 함수의 호출방식 1. Call-by-value int Adder(int num1, int num2)..
C언어 복습문제 [문제 1] 키워드 const의 의미 const int num = 0; // -> 변수 num을 상수화 const int *ptr1 = &val1; // -> 포인터 ptr을 이용해서 val1의 값을 변경할 수 없음 int * const ptr2 = &val2; // ->..
안녕하세요! 최근에 컴퓨터를 맞추면서 주변기기들을 새로 장만했습니다. 전체적으로 밝은 톤을 좋아해서 화이트로 찾아봤네요. 로지텍 마우스랑 비교해보다가, 로지텍 마우스는 화이트가 가격은 더 싸긴 하지만..
디폴트 복사 생성자는 멤버 대 멤버의 복사를 진행한다. 그리고 이러한 방식의 복사를 가리켜 '얕은 복사(shallow copy)'라고 하는데, 이는 멤버변수가 힙의 메모리 공간을 참조하는 경우에 문제가 된다. 그럼 얕..
보라색 글자는 제 개인적인 생각입니다.............. 사담) 드디어 어려운 4챕터를 끝나고 5챕터에 들어서다니 감개무량하다. 무복사 깊은복사 얕은복사 라는 수식어를 많이 들어봤을 것이다. 아직 공부 전에..
객체 배열 및 객체 포인터 배열을 선언해보자 *객체 배열 //정적 할당 SoSimple arr[10]; //동적 할당 Sosimple *ptrArr=new SoSimple[10]; //정적 할당 SoSimple arr[10]; //동적 할당 Sosimple *ptrArr=new S..
'생성자'라는 것을 통해서 객체를 생성과 동시에 초기화 하자!(귀찮음을 줄이기 위해) *생성자의 이해 예시) class test { private: int num; public: test(int n) // 생성자 (Constructor) { num=n; } int Get..
이 책에서는 정말 알약의 캡슐을 예로 들어서 캡슐화의 개념에 대해서 설명했다. 간략히 말하면 병을 낫게하는 알약이 있는데, 그 알약의 역할은 병을 낫게한다는 것이 중요한 것이지 그 안에 세부 역할은 환자가..