Mfc 제00강 객체지향을 이해하라

Page 1


Microsoft Foundation Class

객체지향을 이해하라 1.1 객체지향 방법론 4 가지 1.2 객체지향 기반 원리 5 가지

호서대학교 컴퓨터공학


목차  Part 1. 객체지향의 기본적인 이해 1.1 객체지향의 방법론 4 가지 1.1.1 추상화 (abstraction) 1.1.2 캡슐화 (encapsulation) 1.1.3 모듈성 (modularity) 1.1.4 계층성 (hierarchy)

1.2 객체지향의 기본 원리 5 가지 1.2.1 객체 (object) 1.2.2 클래스 (class) 1.2.3 인터페이스 (interface) 1.2.4 컴포넌트 (component) 1.2.5 관계 (relationship) 호서대학교 컴퓨터공학

3


1.1 객체지향 방법론 4 가지 – 1. 추상화  객체지향 방법론에서 추상화란 ?

– 업무를 관리해야 할 때 중요하지 않는 세세한 것까지 일일이 신경 쓸 필요는 없다 . – 중요하고 필수적인 사항만을 다루는 것이 바 람직하다 . – 모든 일에는 필수적으로 중요한 것이 있지만 , 생략하여도 본질을 이해하는 것은 어렵지 않 다. 호서대학교 컴퓨터공학

4


1.1 객체지향 방법론 4 가지 – 2. 캡슐화  객체지향 방법론에서 캡슐화란 ?

– 중요하고 세부적인 구현 방법에 대한 자세한 사항 을 캡슐 안에 숨겨두는 것 . –

Ex) 자동차의 엔진 , 소프트웨어 시스템의 데이터 .

– 캡슐화는 다른 말로 은닉화 , 데이터 감추기 (Data hiding) 이라고도 한다 . – 캡슐화 된 데이터를 조작할 수 있는 방법을 외부에 제공하여 동작하는 것을 인터페이스 (interface) 라 고 한다 . 호서대학교 컴퓨터공학

5


1.1 객체지향 방법론 4 가지 – 3. 모듈성  객체지향 방법론에서 모듈성이란 ?

– 크고 복잡한 것을 좀 더 작고 관리할 수 잇 는 조각으로 나누어 , 이들 조각을 독립적 으로 개발할 수 있는 개념 . – 이러한 조각을 구조적 방법론에서는 서브 프로그램이나 모듈이라 부르지만 , 객체지 향 방법론에서는 객체라고 부른다 .

호서대학교 컴퓨터공학

6


1.1 객체지향 방법론 4 가지 – 4. 계층성  객체지향 방법론에서 계층성이란 ?

– 보편적인 것을 상위에 두고 특수한 것을 하 위에 두는 것 . –

EX) 자동차는 보편적이고 승용차 , 화물차 등은 특 수적 .

– 등급이나 순서에 따라 계층적인 구조로 조 각들을 배열하는 것 .

호서대학교 컴퓨터공학

7


1.1 객체지향 방법론 4 가지 – 4. 계층성  객체지향 방법론에서 계층성이란 ?

호서대학교 컴퓨터공학

8


1.2 객체지향 기본 원리 5 가지 – 1. 객체  객체지향 기본 원리에서 객체란 ? – 사전적인 의미 –

‘ 보거나 만질 수 있는 사물’

‘ 공간을 차지하고 있는 물질적인 사물’

– 어플리케이션에서 명확한 한계와 의미를 갖는 사물이 나 개념 또는 추상화라고 할 수 있다 . – 단 객체지향 개념에서의 객체란 , 물리적인 사물만이 아 닌 개념적인 것도 객체로 판단한다 .

호서대학교 컴퓨터공학

9


1.2 객체지향 기본 원리 5 가지 – 2. 클래스  객체지향 기본 원리에서 클래스란 ? – 객체의 추상화라고 볼 수 있다 . – 중요하고 필수적인 사항을 중심으로 그 이미지 나 관념을 표현하는 것을 추상화라고 하며 , 이 추상화를 설계한 것이 클래스이다 . –

Ex) 자동차의 설계도 , 음식의 레시피 등등

– 모든 객체는 클래스를 기반으로 생성되며 , 클 래스는 객체를 생성하는 수단이 된다 . 호서대학교 컴퓨터공학

10


1.2 객체지향 기본 원리 5 가지 – 2. 클래스  클래스의 기본적인 구성 Class AutomationTransmissionCar {

// 클래스 명과 함께 생성

int body; // 차체 int engine; // 엔진 int steering; // 조향장치 int transmission; // 변속기 int wheel; // 바퀴 Public: // 접근 지정자 public void start(); // 출발하다 void stop(); // 정지하다 void accelerate(); // 가속하다 void slowDown(); // 감속하다 void turnLeft(); // 좌회전하다 void turnRight(); // 우회전하다 Private: // 접근 지정자 private void changeSpeed(); // 변속하다 };

호서대학교 컴퓨터공학

11


1.2 객체지향 기본 원리 5 가지 – 3. 인터페이스  객체지향 기본 원리에서 인터페이스란 ? – 데이터의 동작과 변화를 주는 방법 즉 , 행 위들이 기술되며 이와 같이 서비스를 명시 하는데 사용되는 행위의 집합 . – C++ 언어에서의 인터페이스는 순수 가상 멤버 함수 (pure virtual member function) 만 멤버로 포함하는 추상 클래스로 정의 .

호서대학교 컴퓨터공학

12


1.2 객체지향 기본 원리 5 가지 – 3. 인터페이스  객체지향 기본 원리에서 인터페이스란 ? Class ICompositeVideo { Public: virtual void Send(int Y, int C) = 0; virtual void Receive(int Y, int C) = 0; };

호서대학교 컴퓨터공학

13


1.2 객체지향 기본 원리 5 가지 – 4. 컴포넌트  객체지향 기본 원리에서 컴포넌트란 ? – 레고 블록 쌓기와 같은 방식으로 소프트웨 어를 만드는 기술 . – 객체지향적인 컴포넌트란 클래스나 인터페 이스 등의 각각의 데이터나 함수 등을 말한 다. –

Ex) 라디오의 부속품 , 음식의 재료 , 건물의 건축 자재 .

호서대학교 컴퓨터공학

14


1.2 객체지향 기본 원리 5 가지 – 5. 관계  객체지향 기본 원리에서 관계란 ? – 객체지향에서의 관계는 크게 4 가지로 분류된다 . –

종속 관계 (subordinate relationship)

연관 관계 (associative relationship)

일반화 관계 (generalization relationship)

실현 관계 (realization relationship)

– 객체지향에서의 관계는 각각의 클래스에 대한 관계 를 말하며 , 객체 사이의 대부분의 관계는 종속 , 연 관 , 일반화의 세가지 형태로 대부분 관계된다 . 호서대학교 컴퓨터공학

15


1.2 객체지향 기본 원리 5 가지 – 5. 관계  객체지향 기본 원리에서 관계란 ?

호서대학교 컴퓨터공학

16


Q&A

Q&A 호서대학교 컴퓨터공학

17


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.