삽질의 현장/- C++ 34

#024_시(c)시(c)해서 C++?!_UML 클래스 다이어그램 관계

안녕하세요 삽잡이입니다... 이번 시간에는 이전~~~ 시간에 포스팅하긴했는데...막상 UML 다이어그램을 보니 또 헷갈려서....이번에 확실히 잡고 가자는 취지로 다시 한번 이번에는 좀 세세하게 포스팅을 해보려고합니다... UML에 대한 소개는 이전에 했으니 생략...하겠습니다...되도 않지만... 막 써놓은 저의 이전 UML 소개글을 살펴보고 싶으시다면... " #006_시(c)시(c)해서 C++?!_클래스간의 관계 " 를 살펴셔도... 좋..을.. 듯.. 하하하....합니다... 자.. 아무튼... 클래스간의 관계에 대해 살펴보도록 하겠습니다... 좀... 드럽게 그렸지만... 이게 뭘까요?바로, UML을 사용하여 개발하고자하는 프로그램을 설계한 것입니다... 근데 화살표로 표시하면 표시하지... 뭐..

#023_시(c)시(c)해서 C++?!_ 레퍼런스형 의 이해

안녕하세요 삽잡이 입니다... 월요병이 발병하여... 멍한 하루를...TV에서 봤는데 월요병에 걸리지 않기 위해서는 평상시와 비슷한 패턴의 주말을 보내야한다고 하더군요... 그게 되나요...하지만 유용한 정보는 하나 알게 되었죠...예를들어 5시간 정도 자던 사람에게 있어서 주말에 +2 시간정도 추가적인 수면을 취한다면피로가 보다 더 풀리게 된다고 합니다...하지만 그 이상으로 잔다면 생체 시계가 엉망이 되어 환상적인 월요병이 우리에게 찾아온다고 하군요...아무튼... 월요일이라... 월요월요하군... 헙... ㅋㅋㅋ 자... 오늘은 뜬금없이 기초로 돌아가보려고 합니다...바로 '&' 참조형 연산자에 대해 썰을 풀어보려고요...월요월요하니 뜬금없는 복습으로 머리 정리를 해보도록 하겠습니다... & 연산자..

#022_시(c)시(c)해서 C++?!_ 팩토리 패턴 사용해보기

안녕하세요 삽잡이 입니다... 이번 시간에는 팩토리 패턴에 대한 예제를 소개해볼까 합니다...코드가 엉성할 수 있으나이번 글을 통해 팩토리 패턴에 대한 감을 잡으실 수 있으면 좋겠군요~! 우선 팩토리패턴은 간단하게 생성과 소멸을 하나의 클래스에 몰빵하는 것입니다...팩토리... 공장... 생각해보세요... 물건들을 찍어내는...이와 같이 특정 클래스에 대한 객체를 찍어주는 역할을 하는 클래스를 하나 만드는 것입니다...공장을 세우는 것이지요... 123456789101112131415 #pragma once#include using namespace std; class Unit{ friend class Factory;private: Unit(void); ~Unit(void);}; cs 이처럼 간단한 Un..

#021_시(c)시(c)해서 C++?!_다시 한번 Command 패턴 사용하기

안녕하세요 삽잡이입니다... 몇일 전에 커맨드 패턴, 그러니까 명령어 패턴에 대한 글을 올린 기억이 납니다...헷갈리니까... 다시한번... 예제를 통해 살펴보도록 하겠습니다...전체적인 코드보다는 이럴 때 사용하는 구나 하는 감을 잡기 위해... 부분적으로...시작합니다... 우선...멤버 하나하나를 담는 Unit이라는 class가 있다고 생각해봅시다...이 Unit을 관리하는 UnitCollection 이라는 class를 만들어보도록 하죠... 12345678910111213141516171819202122232425262728 #pragma once#include #include "Unit.h"using namespace std; class IIsEqual{public: virtual bool op..

#020_시(c)시(c)해서 C++?!_ 되돌아보자 씨쁠쁠 ...

안녕하십니까~ 삽잡이입니다... 막장... 삽잡이 푸하하...내가 이해한 바탕으로 쉽고 재미있게 블로그에 풀어쓰자는 취지는이미 안드로메다로 떠났습니다...아닙니다... 회생할 수... 있을까요... 있겠지요... 흐헉헉 아무튼... 지금까지 제가 C++ 에 대한 글을 올리며 어느정도 C++에 대한 문법적인 요소들은 한번씩 밟아온것 같아서... (밟아...?)다시한번 곱씹어보는 시간을 가져보려 합니다... 참고로 이번 글은... 뭐 이전글들도 다 해당되지만...C++에 대해서 아에 기초가 없으신 분들은 뭔 외계어인가 하며 분노게이지가 차오르실 것입니다 ㅠㅠ... 아무튼... 시작해보도록 하겠습니다... 캡슐화에 대해서부터 썰을 풀도록 해보죠...캡슐화는 우선 멤버 변수와 멤버 메소드가 한 class에 있는..

#019_시(c)시(c)해서 C++?!_STL_vector 기능 구현 코드

안녕하세요 삽잡이 입니다... 이번시간에는 vector의 동작원리를 이해할 수 있도록 기본적인... 낮은... 수준을 가진 저의 기준으로 vector의 기능들을 구현해본 코드를 소개하려고 합니다... 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311..

#018_시(c)시(c)해서 C++?!_STL_Vector 예제

안녕하세요 삽잡이입니다... 이번시간에는 지난시간에 이어 Vector(벡터) 에 대해서 알아보려고 합니다... 그 중에서도 순차 보관, 특정키순, 인덱스 이 세가지에 대해서 말입니다. 간략하게 말씀드리자면 순차보관 같은 경우, 들어오는 순차적으로 저장하는 것입니다. 번호 순 보관 같은 경우에는, 번호 순서대로 저장하는 것입니다. 인덱스 보관 같은 경우에는, 원하는 위치에 저장하는 것입니다. 순차 보관 및 번호 순 보관 같은 경우에는 일일히 하나 하나 비교를 해가며 값을 검색하고 입력하고 보관하고 지우고 하겠지만 인덱스 보관같은 경우에는 벡터를 사용하며 가장 빠르게 검색할 수 있다는 장점을 가지고 있습니다... 일일히 비교할 것이 아니라 원하는 값을 입력하여 바로 검색 보관 삭제 등을 수행할 수 있기 때문..

#017_시(c)시(c)해서 C++?!_STL_Vector 맛보기

안녕하세요 삽잡이입니다. 오늘부터는 STL(Standard Template Library) 에 대해서 배워보려고 합니다.. STL 이란 Standard Template Library 즉, 표준 라이브러리입니다...STL은 여러가지의 자료구조 클래스와 알고리즘 등을 반복자를 통해 접근 하여사용할 수 있는 라이브러리 입니다... 우선 이에 들어가기 전에 템플릿에 대해 간략하게 소개를 하고자 합니다.템플릿이란 사전적으로 '틀'이라는 뜻을 가지고 있습니다. '틀'이라고 하는 것은 무엇인가를 만들어줄 수 있는 기능을 가지고 있습니다.즉, 템플릿은 진짜 코드를 만들어 줄 수 있는 가상의 코드입니다.호출하면서 인자를 다양하게 전달을 하는 것이고,컴파일러는 다양하게 전달한 인자를 하나하나 만들게 되죠...참고로... ..

#016_시(c)시(c)해서 C++?!_Call Me Baby ~ 콜백... (커맨드 패턴)

안녕하세요 삽잡이입니다~ 이번시간에는 커맨드 패턴을 통해 CallBack 기능을 느껴보려고 합니다... 커맨드 패턴이란,객체의 행동을 별도의 클래스에 캡슐화해서 행동 객체에 확장성을 부여하는 패턴이라고 합니다...교과서 적인 답변.... 아무도 이런 대답을 원치 않을 것이야!!! 그렇다면 예를 들어보며 callback 까지 함께 느껴보도록 하겠습니다. 이번에는 학생들의 성적기록을 저장 한 뒤에 정렬을 해보는 것으로 설명을 해보도록 하죠...사용자가 원하는 순서대로 정렬해서 출력해볼 것입니다...사용자가 기준을 정해두고 그 기준에 맞게 정렬해달라고 요청하면해당되는 형태로 정렬시키려고 합니다... 우선...'비교한다'라는 기능을 가진 가상 함수를 우선 선언해보도록 하겠습니다.. 123456class ICom..

#015_시(c)시(c)해서 C++?!_Call Me Baby ~ 콜백... (옵저버 패턴)

안녕하세요 삽잡이입니다. 이번시간에는 옵저버 패턴을 사용하여 콜백기능을 확인해보려고합니다... 우선, 콜백에 대해서 알아보도록 하겠습니다...CallBack.... 콜백이란...기존의 main 메서드 즉, 주 객체가 종된 객체들을 호출하던 것과 반대로종된 객체가 주된 객체에게 호출을 던지는 것을 합니다... 우리가 필요에 의해서 main 메서드에서 여러 함수들을 호출을 했었는데요이번에는 여러 함수들에서 주된 객체인 main을 호출한다는 것입니다...정리해서 말씀드리자면,OS에 의해서 개발자가 정의한 함수를 호출하는 것을 콜백이라고 말하는 것입니다... 예를 들자면, 대표적으로 윈도우 프로그래밍이 있죠...우리가 사용하는 윈도우 OS에서 마우스 돌리고, 키보드 누르는 등...모든 행동 하나하나를 할 때마다..