본문 바로가기

객체지향

프로그램을 만들어 가는 과정. 1 - 무엇을 만들고 어떻게 만들까? ㅁ_ㅁ 지난번의 "객체지향 이야기"는 더 이상의 이야기를 하자면 "디자인 패턴"이라는 복잡한 분야로 들어가야 하는데 이는 이해하기도 상당히 난해하므로 일단 접어둡니다. 객체지향의 기본도 절차지향이므로 이번 포스트 부터는 절차지향과 객체지향의 공통분모인 프로그램의 설계에 대해 언급하겠습니다. --------------------------------------------------------------------------------------- 프로그래밍을 처음 공부하는 사람이나 조금 했던 사람이나 많이 하는 사람이나 모두 공통적인 고민을 가지고 있습니다. "뭘 만들지?" .... 예. 그렇습니다. -_- 우리에게 가장 중요한건... 뭘 만드느냐 입니다 -_-; 프로그램을 도대체 무엇을 만들 것이느냐! .. 더보기
객체지향 이야기 5. MFC와 객체지향. // HelloApp.h: interface for the CHelloApp class. // ////////////////////////////////////////////////////////////////////// #include #if !defined(AFX_HELLOAPP_H__F398515F_9AAC_4AF5_8DAA_F0A1CE874AD3__INCLUDED_) #define AFX_HELLOAPP_H__F398515F_9AAC_4AF5_8DAA_F0A1CE874AD3__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 class CHelloApp : public CWinApp { public: virtual BOOL .. 더보기
객체지향 이야기 4. 생활속의 객체지향. 일상적인 생활 속에서도 객체지향을 만나 볼 수 있습니다. (이 글은 픽션입니다 -_-) ---------------------------------------------------------------------------------------- 컴퓨터공학과인 A군은 F학점을 면하기 위해 귀찮은 수업을 들으러 학교로 나섭니다.(-_-;;) 그리고는 하나의 객체를 마주하게 되지요. 자동차라는 객체. 아니, 자동차라는 클래스에서 '상속'된 경차 클래스의 객체중 하나입니다. 속성으로 제조사와 연식, 엔진의 배기량 및 여러가지가 있고... 현재 상태는 "과속"이네요. A군은 한마디 내뱉고 갑니다. "니가 뭔 스포츠카냐."(-_-...) 그리고는 학교에 도착합니다. 완벽한 군용 건물처럼 견고하기 그지없는 학교 건.. 더보기
객체지향 이야기 3. 클래스랑 객체가 뭐가 다른건데? 객체지향에 처음 입문하는 사람들에게 상당히 설명해주기 어려운 한가지. -_- 클래스와 객체의 차이점입니다. -_-;; ---------------------------------------------------------------------------------------- class A { 쌸라쌸라쌸라..... } int main() { A a; a.out("아놔 어쩌라고~~\n"); } 으흠. 저 코드를 보면 클래스와 객체의 차이점을 볼 수 있습니다. 클래스는 "객체를 찍어내기 위한 틀"입니다 -_-! 수많은 객체지향 책들을 보면 참 난감하게 글들을 써놨습니다. 어떤 책은 "클래스는 곧 객체요, 클래스의 소통으로 이루어진게 객체지향형 프로그램이다." 또 어떤 책은 "클래스와 객체는 서로 다른 개념이.. 더보기
객체지향 이야기 2. 그럼 객체는 뭔데? 객체란 뭐.... 별거 아니구요. "데이터를 중심으로 무언가 행동을 하는 주체" 입니다. 기존의 절차지향에서는 "데이터"란 단지 "다뤄야 할 대상"이었지만, 객체지향에서는 "객체"가 "데이터"를 가지고 있고, "주체적으로 다른 객체와 대화하는" 형태입니다. 이 객체들간의 대화나 상호 작용이 프로그램이 된다고 전 포스트에 써두었지요? 인간이라는 객체의 형상화입니다. (원래 포토샵으로 해두었으나 날라갔습니다. 죄송 ㄱ-;) 인간은 "이름, 성별, 키, 몸무게, 나이"라는 데이터를 가지고 있고, "말하기"라는 동작을 통해 자신의 데이터를 다른 인간객체에게 알려주거나, 다른 인간객체의 데이터를 수집합니다. 그리고 다른 인간객체와의 상호작용을 통해 "때리"거나, "걷어차"거나.... ....... 예시가 좀 격한.. 더보기
객체지향 이야기 1. 객체지향이 뭐야? 갑작스레 시작하는 객체지향 이야기. 그것도 시리즈물 이에요 -_-; --------------------------------------------------------------------------------------------------- 처음 프로그래밍이 탄생한 순간, 기계에 천공카드를 원하는 규칙에 맞춰 뚫어서 넣어 컴퓨터를 가동하던 그 때. 무식하게 느린 컴퓨터이지만 복잡하고 귀찮은 계산들을 손쉽게 처리해 주었기에, 수많은 사람들이 열심히 천공카드에 하나 하나 구멍을 뿅 뿅 뚫어가며 프로그램을 만들었습니다. 이 후, 기계어 단위로 0, 1을 직접 우겨넣다 못해, 어셈블리 언어가 생겼지요. 정말 단순했습니다. 그냥 순서대로 컴퓨터가 해야 할 일을 프로그래머가 알아먹을 수 있도록 기계어와 1 :.. 더보기