• 검색 결과가 없습니다.

C + + 는 객체지향 언어 (O b je c t- O ri e n te d l a n g u a g e )다

N/A
N/A
Protected

Academic year: 2021

Share " C + + 는 객체지향 언어 (O b je c t- O ri e n te d l a n g u a g e )다"

Copied!
27
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

C + + C + + C + + C + + 시 작 하 기 시 작 하 기 시 작 하 기 시 작 하 기

C++와의첫대면!

(2)

이 장에서 다룰 내용 C + + 소개 1 객체지향 언어인 C + + 2 C + + 개발환경 만들기 3

(3)

01_C + + 소개  C + + 는 C 언어 다음 단계로 개발된 언어다

C++ 언어의모체인C 언어는1969년부터1973년까지벨 연구소에서운영체제를개발하기위해만든프로그래밍언어다.

 C + + 의 모체는 1 9 8 0 년대에 개발된 ‘C w it h C la s s e s ’다

1907년대후반, 객체지향개념이유행하면서비야네 스트롭스트룹이개발한C with Classes가C++다.스트롭스트룹이개발한C with Classes가C++다.

 C + + 는 객체지향 언어 (O b je c t- O ri e n te d l a n g u a g e )다

객체지향언어에서는프로그램을클래스의집합으로생각한다. 클래스는데이터와함수들의집합으로이루어진다.

 참고로 C 언어는 절차적 언어 (P ro c e d u a l L a n g u a g e )다

절차적언어란, 데이터를가공하여결과를도출하는함수들의 집합으로프로그래밍하는방법중하나다.

(4)

02_ 객체지향 언어인 C + +  객체지향 언어

객체를가지고객체간의상호작용으로인해프로그램이 수행되는언어를의미한다.

 객체지향 언어의 3 가지 특징 객체지향객체지향 언어의언어의 33가지 가지 특징특징

상속성상속성상속성상속성

다형성다형성다형성다형성

캡 슐 화 캡 슐 화 캡 슐 화 캡 슐 화

(5)

02_ 객체지향 언어인 C + +  캡슐화 (e n c a p s u la ti o n )

데이터와데이터의행동양식을결정하는코드를묶는구조다. 원하는부분을외부로부터숨길수있다. 동작과정보를포함하는블랙박스(Black Box)를만들수있다.

 커피 자판기의 예를 통한 캡슐화 캡슐화 자판기의 내부를 몰라도 커피 버튼만 누르면 커피를 마실 수 있다 .

(6)

02_ 객체지향 언어인 C + +  캡슐화 (e n c a p s u la ti o n )

커피를마시고싶어서‘커피’ 버튼을눌렀다고가정하자. 자판기내부에서어떤과정을통해서커피가나오는가? 우리는동전만있다면커피를뽑아마실수있다. 이러한자판기를‘클래스(Class)’로생각할수있다. 즉, 자판기내부에서이뤄지는음료의제조과정을 숨기고, 커피, 홍차, 유자차, 코코아와같은결과물만을 자판기이용자에게노출시킬수있는것이다.자판기이용자에게노출시킬수있는것이다.

(7)

 다형성 (p o ly m o rp h is m )  목적은 다르지만 연관성이 있는 두 가지 이상의 용도로 하나의 이름을 사용할 수 있게 하는 성질이다 .  다형성은 함수와 연산자에 모두 적용된다 .

연산자의 예를 들면 , + 연산은 정수 , 배정도 정수 , 실수 , 문자 등 모든 자료형의 덧셈에 사용된다 .  C + + 에서는 ‘사용자 정의 자료형 ’에 대해서도 다형성을 확장시킬 수 있다 . 확장시킬 수 있다 .

(8)

02_ 객체지향 언어인 C + +  상속성 (i n h e ri ta n c e )

하나의객체가다른객체의특성을이어받을수있게해주는 특성이다.하나의객체는일반적인동작이나성질들을상속받아 자신의특화된동작과성질들을추가할수있다. Starcraft를C 스타일로코딩을한다면, 뮤탈리스크, 디바우러, 가디언클래스에대해모두fly 등의함수를구현해야한다. 그러나, C++에서는뮤탈리스크클래스에서fly 함수를구현하고, 디바우러와가디언은뮤탈리스크를상속하기만하면동일한디바우러와가디언은뮤탈리스크를상속하기만하면동일한 구현에대해서는다시코딩을할필요가없게된다.

(9)

03_C + + 개발환경 만들기

설치를위해CD를넣으면자동으로 시작된다.

[실습하기 1 - 1 ] 비주얼 스튜디오 설치하기

계약내용을확인하고‘동의함’을 선택한후계속진행한다.

(10)

03_C + + 개발환경 만들기

제품의ID 번호, 사용자이름, 회사이름을 입력한다.

[실습하기 1 - 1 ] 비주얼 스튜디오 설치하기

옵션을정할차례다. ‘사용자정의’를 선택한후계속진행한다.

(11)

03_C + + 개발환경 만들기

공통파일을저장할폴더를선택한다. 특별한경우가아니면기본을선택한다.

[실습하기 1 - 1 ] 비주얼 스튜디오 설치하기

설치를위해실행중인프로그램들은모두 종료한다.

(12)

03_C + + 개발환경 만들기

A/S를위하여제품ID를어딘가에적어 놓는다.

[실습하기 1 - 1 ] 비주얼 스튜디오 설치하기

Visual C++ 6.0이체크되었는지를체크한 후<계속>을선택한다.

(13)

03_C + + 개발환경 만들기

명령행에서Visual C++ 도구들을실행할 때를위해,’환경변수등록’을체크한다.

[실습하기 1 - 1 ] 비주얼 스튜디오 설치하기

설치가시작되었다.컴퓨터사양에 따라수분정도소요된다.

(14)

03_C + + 개발환경 만들기

이제설치가모두완료되었다. 재부팅한다.

[실습하기 1 - 1 ] 비주얼 스튜디오 설치하기

(15)

03_C + + 개발환경 만들기

[Microsoft Visual C++ 6.0]을클릭하여 Visual C++ 프로그래을실행한다.

[실습하기 1 - 2 ] 비주얼 스튜디오 6 .0 C + + 프로그래밍하기

Workspace name과Location을입력한다.

(16)

03_C + + 개발환경 만들기

[Projects] 탭을클릭하여‘Win32 Console Application’항목을선택한후, ‘Project name’, ‘Location’을기입하고‘OK’ 버튼을누른다. 이미생성된 워크스페이스에프로젝트를포함시키려면 ‘Add to current workspace’를선택해야 한다.

[실습하기 1 - 1 ] 비주얼 스튜디오 설치하기

Console Application의종류를선택하는 화면에서‘An empty project’항목을 선택하고, ‘Finish’버튼을누른다.

(17)

03_C + + 개발환경 만들기

[File]-[New] -[Files] 탭을선택한후 ‘C++ Source File’항목을선택하고, ‘Add to Project’항목을체크한후, File란에파일명을입력한다.

[실습하기 1 - 1 ] 비주얼 스튜디오 설치하기

[File] –[New] –[Files] 탭을선택한후 ‘Add to Project’항목을체크하고 파일명을입력한다.

(18)

03_C + + 개발환경 만들기

이제다음편집창에서아래와같이 프로그램을작성해보자.

[실습하기 1 - 1 ] 비주얼 스튜디오 설치하기

[Build]-[Execute 01_01.exe] 메뉴를 선택하면실행된다.

(19)

03_C + + 개발환경 만들기

실행파일을생성하겠느냐는화면이 나오면<예> 버튼을클릭한다.

[실습하기 1 - 1 ] 비주얼 스튜디오 설치하기

에러가발생하지않았다면,0 error(s), 0 warning(s)가출력된다. 실행결과는콘솔창에출력된다.

(20)

03_C + + 개발환경 만들기

[실습하기1-2]에서만들어두었던 워크스페이스인ch01.dsw를연다.

[실습하기 1 - 3 ] 워크스페이스에 프로젝트 추가하기

이미생성된워크스페이스에프로젝트를 포함시키려면‘Add to current workspace’를선택해야한다. 나머지과정은새프로젝트를만드는것과 동일하다.

(21)

03_C + + 개발환경 만들기  워크스페이스와 프로젝트

여러개의소스파일들이묶여져서하나의프로그램을이루는데, 여러개의파일로이루어진프로그램을프로젝트하고한다. 프로젝트(.dsp)들은워크스페이스(.dsw)에서관리할수있다. 비주얼스튜디오6.0에서워크스페이스와프로젝트를생성하면, 워크스페이스명, 프로젝트명과동일한이름의폴더가생성되며 확장자가dsw인파일을열면해당워크스페이스에포함된 프로젝트까지같이열리게된다.프로젝트까지같이열리게된다. 실행파일은기본적으로프로젝트폴더내의Debug 폴더에 생성된다.

(22)

03_C + + 개발환경 만들기  개발환경에 대한 이해

아래화면에서①은소스를여러관점에서보여는Project workspace이며, ②는실제소스를보여주는작업창이다. ③은Build, Debug나Find의결과를보여주는출력창이다. ①①①①②②②② ③③③③

(23)

03_C + + 개발환경 만들기  개발환경에 대한 이해

Project workspace는ClassView, FileView의2 가지View를 제공한다. ClassView –현재작성중인workspace에포함된클래스들을모두보여준다. 클래스의멤버변수와 멤버함수도볼수있으며, 추가/삭제기능도제공된다. FileView –현재프로그램을구성하고있는파일들을모두보여준다. 새로운프로젝트나파일을 추가/삭제할수있다.

(24)

03_C + + 개발환경 만들기  컴파일과 디버깅

원하는소스를작성한후에는컴파일및디버깅하는과정이 필수적이다. 실행은메뉴에서[Build][Execute] 혹은Ctrl+F5있다. 컴파일에필요한세세한옵션들은‘Project Settings’에서수정할수 있으나, 우리는특별한설정이필요하지않은Win32 Console Application을작성할예정이므로생략하도록한다. 컴파일은되었으나우리가원하는대로프로그램이동작하지않는컴파일은되었으나우리가원하는대로프로그램이동작하지않는 경우가자주발생한다. 이때, 우리는디버깅을하게되는데Visual C++의디버깅은매두편하고쉬운환경을제공해준다.

(25)

03_C + + 개발환경 만들기  컴파일과 디버깅

원하는코드상에서F9 키를누르면, 왼쪽에빨간원이생기면서 breakpoint가설정된다. 이상태에서F5 키나‘Go’ 버튼을누르면 디버깅이시작된다. 디버깅화면을보면, 왼쪽의노란화살표가현재실행중인행을 나타내고있으며, Debug 툴바를이용하면, 한줄씩실행하거나 원하는지점으로점프등의동작을할수있다. 디버깅을모두끝마치고Project Workspace로돌아갈때는Stop Debugging( Shift + F5 )를선택하면된다.

(26)

요약

C++C++의의시작시작연구소에있던비야네스트롭스트룹이1980년에‘C with Classes’를 개발하게되었고, 이후C++라고불리게되었다.

절차적절차적 언어언어 ,, 객체지향객체지향 언어언어

C절차적언어(procedural language)다 데이터를가공하여결과를도출하는함수들의집합으로프로그래밍 C++객체지향언어(Object-Oriented language)다 프로그램은클래스의집합이며, 클래스는데이터와함수들의집합으로이루어진다.

객체지향객체지향 언어의언어의 33 가지가지 특성특성

개발개발환경환경여러개의소스파일로이루어진프로그램을프로젝트라하며, 생성된 프로젝트들은하나의워크스페이스에서관리된다.

데이터와행동양식을결정하는코드를한번에묶는구조를말하며, 외부 간섭을막을수있으며정보를숨길있다. 목적은다르지만연관성있는가지이상의용도로하나의이름을사용할 있게하는성질이다. 하나의객체가다른객체의특성을이어받을있게해주는특성이다.

(27)

www.themegallery.com IT CookBook for Beginner, C++IT CookBook for Beginner, C++IT CookBook for Beginner, C++IT CookBook for Beginner, C++ 기초기초기초기초1111장장장장끝끝끝끝

참조

관련 문서

Offices for minimum forty people for AIT management, test equipment operators, test engineers, maintenance staff are necessary. In addition, many extra offices for

지도 교수

• 불가리아의 소피아 대학교 한국어과는 이미 설립되어 있으나, 벨리코 떠르노보 대학교 한국어 과정이 운영중이고 바르나 자유대학교에도 한국어과가 생길 예정.

c: xylem, b: phloem, f: cambium ring, e: pericycle, d: endodermis..

• Khan Asparukh가 이끄는 원 불가리아인들은 다뉴브 강을 건너 현 재의 불가리아 땅에 들어 왔으며 지금의 Shumen 가까이에 있는 Pliska에 수도를 정하고 비잔틴과 전쟁 후

-1396년 오스만 터키제국의 술탄 Bayezid I세는 불가리아 북부 다뉴브 강의 도시 Nikopo에서 십자군과의 전쟁인 Battle of Nicopolis에서 승리하여 불가리아를

Development of Bulgaria Граждани за европейско развитие на България.. Rosen Asenov Plevneliev

동 기한내 위반사항이 개선되지 않는 경우「사회적기업 육성법」제18조의 규정에 따라 사회적기업 인증이 취소될 수 있음을 알려드립니다... 동