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

Page 1

Microsoft Foundation Class

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

호서대학교 컴퓨터공학과

1


목차

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)

호서대학교 컴퓨터공학과

2


1.1 객체지향 방법롞 4가지 – 1. 추상화

 객체지향 방법롞에서 추상화란? – 업무를 관리해야 할 때 중요하지 않는 세 세한 것까지 일일이 싞경 쓸 필요는 없다. – 중요하고 필수적인 사항만을 다루는 것이 바람직하다.

– 모든 일에는 필수적으로 중요한 것이 있지 만, 생략하여도 본질을 이해하는 것은 어렵 지 않다. 호서대학교 컴퓨터공학과

3


1.1 객체지향 방법롞 4가지 – 2. 캡슐화

 객체지향 방법롞에서 캡슐화란? – 중요하고 세부적인 구현 방법에 대한 자세 한 사항을 캡슐 안에 숨겨두는 것. Ex) 자동차의 엔짂, 소프트웨어 시스템의 데이터.

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

4


1.1 객체지향 방법롞 4가지 – 3. 모듈성

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

호서대학교 컴퓨터공학과

5


1.1 객체지향 방법롞 4가지 – 4. 계층성

 객체지향 방법롞에서 계층성이란? – 보편적인 것을 상위에 두고 특수한 것을 하위에 두는 것. EX) 자동차는 보편적이고 승용차, 화물차 등은 특수적.

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

호서대학교 컴퓨터공학과

6


1.1 객체지향 방법롞 4가지 – 4. 계층성

 객체지향 방법롞에서 계층성이란?

호서대학교 컴퓨터공학과

7


1.2 객체지향 기본 원리 5가지 – 1. 객체

 객체지향 기본 원리에서 객체란? – 사전적인 의미 • •

‘보거나 만질 수 있는 사물’ ‘공갂을 차지하고 있는 물질적인 사물’

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

8


1.2 객체지향 기본 원리 5가지 – 2. 클래스

 객체지향 기본 원리에서 클래스란? – 객체의 추상화라고 볼 수 있다.

– 중요하고 필수적인 사항을 중심으로 그 이 미지나 관념을 표현하는 것을 추상화라고 하며, 이 추상화를 설계한 것이 클래스이다. Ex) 자동차의 설계도, 음식의 레시피 등등

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

9


1.2 객체지향 기본 원리 5가지 – 2. 클래스

 클래스의 기본적인 구성 Class AutomationTransmissionCar { int body; // 차체 int engine; // 엔짂 int steering; // 조향장치 int transmission; // 변속기 int wheel; // 바퀴 Public: void start(); // 출발하다 void stop(); // 정지하다 void accelerate(); // 가속하다 void slowDown(); // 감속하다 void turnLeft(); // 좌회전하다 void turnRight(); // 우회전하다 Private: void changeSpeed(); // 변속하다 }; 호서대학교 컴퓨터공학과

// 클래스 명과 함께 생성

// 접근 지정자 public

// 접근 지정자 private

10


1.2 객체지향 기본 원리 5가지 – 3. 인터페이스

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

호서대학교 컴퓨터공학과

11


1.2 객체지향 기본 원리 5가지 – 3. 인터페이스

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

호서대학교 컴퓨터공학과

12


1.2 객체지향 기본 원리 5가지 – 4. 컴포넌트

 객체지향 기본 원리에서 컴포넌트란? – 레고 블록 쌓기와 같은 방식으로 소프트웨 어를 만드는 기술. – 객체지향적인 컴포넌트란 클래스나 인터페 이스 등의 각각의 데이터나 함수 등을 말 한다. Ex) 라디오의 부속품, 음식의 재료, 건물의 건축자재.

호서대학교 컴퓨터공학과

13


1.2 객체지향 기본 원리 5가지 – 5. 관계

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

종속 관계(subordinate relationship) 연관 관계(associative relationship) 일반화 관계(generalization relationship) 실현 관계(realization relationship)

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

호서대학교 컴퓨터공학과

14


1.2 객체지향 기본 원리 5가지 – 5. 관계

 객체지향 기본 원리에서 관계란?

호서대학교 컴퓨터공학과

15


Q&A

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

16


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