Mobile Communication

Download Report

Transcript Mobile Communication

제1장
C++ 언어와 객체지향 프로그래밍 소개
 C++ 프로그래밍 언어 소개
 객체지향 프로그래밍 소개
순천향대학교 정보기술공학부
이상정
1
C++ 프로그래밍 언어 소개
순천향대학교 정보기술공학부
이상정
2
C++ 프로그래밍
프로그래밍 언어
 프로그래밍 언어
• 구조적 프로그래밍 언어(structured programming language)
• 객체지향 프로그래밍 언어(object-oriented programming language)
 구조적 프로그래밍 언어
•
goto문의 사용을 억제하고 기본적인 제어구조(C 언어의 while 문, for 문 등)
로 기술
• 프로그램의 각 부분을 최대한 독립적인 부분인 모듈(module) - 또는 함수, 서
브루틴, 프로시쥬어 - 로 나누어서 작성
• C, Pascal
 객체지향 프로그래밍 언어
• 객체지향 프로그래밍에서는 자료와 이의 처리동작을 하나로 묶어서 다룰수 있
는 객체(object)라는 개념을 도입
• 프로그램은 처리하는 절차보다도 동작되는 자료에 중점을 둔 객체, 객체 간의
상호관계로 표현
• C++, Java
순천향대학교 정보기술공학부
이상정
3
제1장 C++ 언어와 객체지향 프로그래밍 소개
C++ 프로그래밍
C++ 언어 소개
 C++ 언어 개발
• 1980년 초반에 미국 AT&T 벨 연구소의 Bjarne Stroustrup에 의해 개
발
• C 언어의 골격에 Simula 67 등에서 소개된 객체지향 프로그래밍의 기법
을 도입하여 개발
• 1983년 이후부터 C++라는 이름으로 외부에 공개
 C++ 언어의 특징
• 기존의 C 언어가 가지는 특징과 객체지향 프로그래밍을 지원하는 특
징으로 구분
• C에 C 언어의 증가연산자 ++를 덧붙인 C++라는 이름이 암시하듯이
C의 문법을 대부분 그대로 사용하면서 C 언어 보다 기능이 추가된 언
어
순천향대학교 정보기술공학부
이상정
4
제1장 C++ 언어와 객체지향 프로그래밍 소개
객체지향 프로그래밍 소개
순천향대학교 정보기술공학부
이상정
5
C++ 프로그래밍
구조적 프로그래밍 개념
 기존 C와 같은 구조적 프로그래밍 언어는 동작되는 자료와
처리 동작 자체를 서로 별도로 구분
• 처리동작과 자료 사이의 관계가 서로 밀접한 연관성을 갖지 못함
• 프로그램이 커지거나 복잡해지면 프로그램이 혼란스럽게 되어 에러
를 찾는 디버깅 및 프로그램의 유지보수가 어려워 짐
자동차,책,사과,물건,배
소유하다
순천향대학교 정보기술공학부
타다
이상정
먹다
6
읽다
맛있다
제1장 C++ 언어와 객체지향 프로그래밍 소개
C++ 프로그래밍
객체(object) 개념 (1)
 객체지향 프로그래밍에서는 자료와 이의 처리동작을 하나로
묶어서 다룰수 있는 객체(object)라는 개념을 도입
 프로그램은 처리하는 절차보다도 동작되는 자료에 중점을 둔
객체, 객체 간의 상호관계로 표현
물건
자동차
사과
책
배
소유하다
타다
먹다
읽다
맛있다
순천향대학교 정보기술공학부
이상정
7
제1장 C++ 언어와 객체지향 프로그래밍 소개
C++ 프로그래밍
객체(object) 개념(2)
 물건의 객체는 다른 객체 보다 상위관계를 갖는 객체이고 이
객체에서 갖는 성질은 다른 객체도 공유
 비슷한 성질의 사과, 배는 서로 성질을 공유하는 관계
물건
소유하다
자동차
책
사과
배
타다
읽다
먹다
맛있다
순천향대학교 정보기술공학부
이상정
8
제1장 C++ 언어와 객체지향 프로그래밍 소개
C++ 프로그래밍
객체지향 프로그래밍 (1)
 객체지향 프로그래밍 시각
• 문제의 영역을 단순한 자료의 처리 흐름으로 보지 않음
• 구조적 프로그래밍 서로 관련된 자료와 연산(함수)들이 서로 독립적으로
정의되어 취급
• 문제 영역 내에 존재하는 여러 연관된 객체들을 정의하고 이들 객체
들이 서로 정보를 주고 받는다고 보는 시각 (객체 간의 관계)
 객체지향 프로그래밍에서는 프로그램은 여러 개의 객체로 구
성
• 객체(object)는 자료와 이를 대상으로 처리하는 동작인 연산(함수,메
쏘드(method))을 하나로 묶어 만든 요소로 프로그램을 구성하는 실
체
• 객체란 단순히 자료를 표현하는 변수 만을 가지는 것이 아니라 그 객
체가 무엇을 할 수 있는가를 정의한 함수(메쏘드)로 구성
순천향대학교 정보기술공학부
이상정
9
제1장 C++ 언어와 객체지향 프로그래밍 소개
C++ 프로그래밍
객체지향 프로그래밍 (2)
 구조적 프로그래밍
자료 + 연산(함수) = 프로그램
 객체지향 프로그래밍
객체
자료
자료
+
=
연산(함수)
연산(함수)
객체 + 객체 = 프로그램
순천향대학교 정보기술공학부
이상정
10
제1장 C++ 언어와 객체지향 프로그래밍 소개
C++ 프로그래밍
객체지향 프로그래밍 (3)
 객체지향 프로그래밍 장점
• 소프트웨어의 확장(extensibility) 용이
• 기존 소프트웨어를 재사용(reusability)
• 소프트웨어의 유지 보수(maintainability) 비용을 절감
• 프로그래머의 생산성(productivity)을 향상시키는 장점
순천향대학교 정보기술공학부
이상정
11
제1장 C++ 언어와 객체지향 프로그래밍 소개