전체 글650 C++ Design Pattern 220404~220407 C++ Design pattern 교육 C++ 언어 내용 요약 Public : 기반 클래스, 파생 클래스, 외부에 모두 공개 protected : 기반 클래스, 파생 클래스에 공개 생성자를 protected에 놓는 경우: 추상적인 개념을 모델링 할 때 생성자를 직접 호출 불가능하게 만들고 파생되는 실체 클래스가 생성자를 호출할 수 있도록 하기 위함. (Abstract class) private : 기반 클래스에게만 공개 upcasting: 객체지향 언어 특성 상 파생클래스의 포인터를 기반 클래스의 객체로 캐스팅할 수 있다. (파생클래스는 기반클래스에서 정의하는 모든 기능을 지원함) 단, 기반클래스 형태일 때 파생클래스에서 정의한 고유 멤버에 접근이 불가능하며 파생클래스에서 정의하.. 2022. 4. 7. [면접왕 이형] 면접 필살기 만드는 과정 https://youtu.be/EqCelJ0aFPQ 경험 리스트 중에 필살기로 사용할 경험을 추출하기 위함 (가급적이면 수치화 가능한 결과물을 중심으로 선정, 역량 키워드 매칭) 역량 구조도를 통하여 통일된 언어를 적용. '문제(why)' : 문제의 인식, 왜 경험을 했는지 '결과(what)' : 경험의 결과 -> 직무 역량와 연관되어 있어야 함. '나의 역할' : 핵심적인 행동 '결과물' : 수지화 된 결과물 '역량' : 드러난 나의 역량(Max. 2) *주의점 : 직무와 관련없는 경험, 경험의 중심이 나를 위한 문제해결인 경우(대상이 3C가 아닌 경우) 결과가 수치화가 되지 않은 경우 연구개발(R&D)에서 필요한 역량은?? 전문지.. 2022. 4. 5. 경력기술서 경력기술서(직무기술서)는 CV(Curriculum Vitae) 라고도 함. 이력사항을 정리할 때 핵심 직무유사경험 그 안에서 성공경험 그것을 통해 얻은 통찰 --> 즉 필살기로 귀결됨; "왜 당신을 뽑아야 합니까?" "필살기가 있기 때문이죠" (필살기란? 유사경험-성공경험[숫자]-인사이트[교훈] 세 가지 단어의 조합) 직무기술서 작성 시 필수요소 --> 성공경험, 성과 인사 담당자들은 직무기술서를 통하여 지원자의 직무 능력을 보고 싶어한다. 따라서 직무기술서에는 성과를 중심으로 내가 한 일을 간략히 적어야 한다. 만약 DO List 중심으로 직무기술서를 적게 되면 인사담당자는 실제로 지원자가 직무적 역량이 있는지의 여부를 판단하기 어렵다. e.g. 프로젝트명 성공경험 숫자적 변화 위와 같이 가장 중요한 .. 2022. 4. 5. [C++ 기본 3] 3. this 객체의 멤버 함수나 멤버 데이터에 접근하려면 클래스 내부에서 각 함수나 변수의 이름을 사용하면 되었다. 사실은 이 경우 실 동작은 컴파일러가 직접 함수 선언에 대하여 내부적으로 this라는 인자를 생성하여 각 객체별로 함수나 변수가 동작하도록 변경하여 동작시키는 구조이다. // 3_this1.cpp 126 page ~ #include class Point { int x, y; public: void set(int a, int b) // set(Point* this, int a, int b) { x = a; // this->x = a; y = b; // this->y = b; 처럼 컴파일 됩니다. // this : 현재 멤버 함수를 호출할때 사용한 객체의 주소 std::cout 2022. 4. 4. [C++ 기본 3] 2. 정적 멤버 C언어에서의 static 변수 또는 static 함수는 정해진 영역 내에서만 고유하게 접근 가능한 변수나 함수를 의미한다. 여기서 정해진 영역이란 파일 또는 중괄호({}) 사이에 위치한 섹션을 의미한다. C++에서는 클래스의 선언(아마 구조체에도 static 선언이 가능할 것으로 보인다. 구조적으로..) 의 멤버변수를 static으로 선언할 수 있는데, 이 경우 해당 클래스를 이용하는 모든 인스턴스의 변수가 통일되어 사용된다. 또한 해당 정적 멤버의 경우 정적으로 할당되기 때문에 정의 영역이 클래스 밖에 위치하게 되며 인스턴스가 생성되기 이전에도 활용할 수 있다. // 2_정적멤버1 - 110 page #include //int cnt = 0; // 전역변수. 모든 객체가 공유 한다. // 어디서나 접근.. 2022. 4. 4. [C++ 기본 3] 1. 객체복사 C에서 구조체를 복사하듯이 C++도 클래스의 복사가 가능하다. 하지만, C에서 포인터의 내용을 직접 복사 불가능하듯이 C++에서도 동적 메모리 할당된 영역은 자동으로 복사되지 않는다(shallow copy) // 1_객체복사.cpp 102 page ~ #include class People { char* name; int age; public: People(const char* n, int a) : age(a) { name = new char[strlen(n) + 1]; strcpy(name, n); } ~People() { delete[] name; } }; int main() { People p1("kim", 20); People p2 = p1; // runtime error } C++ 컴파일러가 자.. 2022. 4. 4. 이전 1 ··· 11 12 13 14 15 16 17 ··· 109 다음