프로그래밍 언어 92

[삽잡이] 개발 잘하는 방법 (코딩 잘하는 방법) (2)

'백문이 불여일타' 라는 말이 있다... 맞는 말이다... 프로그래밍 공부는 책을 본다고 공부가 전부 되는 것이 아니다... 개발 및 IT 분야에 대한 분야에 나아가려고 한다는 것은컴퓨터와 대화를 나누겠다는 것과 다름이 없다. 책을 보는 것은 컴퓨터와 보다 수월하게 대화를 진행하고,컴퓨터에 대해 더 잘 알기 위해 도움을 주는 조력자일뿐...뭐... 그 이상의 친구일수도.. 프로그래밍 언어라는 것은 엄연히 언어이다... 언어는 대화를 할 때에도 사용이 되지... 컴퓨터와 대화를 해야한다... 프로그래밍 언어를 통해서 말이다...눈으로만 본다는 것은 어느정도 한계가 있다는 것... 또한 학습이 안된다고 좌절하지 말라...이쪽 분야는 머리 보다 몸으로 익히는 것들이 훨씬 많다고들 하니... 머리로는 이해하여도..

[삽잡이::C++] main() 함수에 관하여...

안녕하세요 삽잡이입니다... 여유로운 주말이 찾아왔습니다 푸하하...오늘은 엉뚱한 이유를 찾아 헤매보려고 합니다...별거 아닐 수 있습니다... 근데 이놈의 삽질 자체인... 삽잡이는 그냥 궁금해졌습니다..별거 아니면 그냥 살포시 넘어가시길.... 허허... 아무튼...Visaul Studio를 실행시키고 소스파일을 만들었을 때 문득 생각이 들었습니다... 123456#include main(){ }cs c에서 아무 생각 없이 쓰던 이 'main()' ... 왜 안되... 왜 안되?c++에서는 안되기에 왜그러지 했습니다... 물론 이유는 찾았죠.... c++에서는 기본 int를 지원하지 않는다라... 참고로 c/c++ 표준 main 시그니처는 아래와 같습니다... 12int main(void);int m..

#027_시(c)시(c)해서 C++?!_dynamic_cast

안녕하세요... 삽잡이 입니다...비가 센치하게 내리군요... 오늘 이 축축한 거리에 나가야하다니...빗소리의 나의 몸을 기대어... 물 흐르듯이 흘러 나가리... 푸하하하;;; 아무튼... 오늘은 dynamic_cast에 대해서 알아보도록 하겠습니다... OOP 즉 객체지향 프로그램의 특징 중 하나인다형성에 의해서 기반클래스에다가 파생된 객체를 받을 수 있습니다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 #include #include using namespace std; class Job{ int salary; string name;public: Job(int _salary, string _n..

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

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

#025_시(c)시(c)해서 C++?!_멤버 이니셜라이저

안녕하세요 삽잡이입니다... 이번 시간에는 기초로 다시 돌아가서 이니셜라이즈에 대해서 썰을 풀어보고자 합니다... 이니셜라이즈... 언제 쓸까요? 두가지로 나뉩니다...상수와 생성자에 관련되서 이니셜라이즈를 사용하게 되죠...예시를 들어보겠습니다.. 123456789101112131415161718 #include #include using namespace std; class Member{ int num; string name;}; void main(){ Member *sap = new Member();} cs 이와 같이 기본적인 Member class는 생성자가 없으면 기본적으로 default 생성자가 자동으로 생성되어 문제없이 컴파일이 가능합니다... 하지만, 1234567891011121314 c..

#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에 있는..