객체지향 프로그래밍ㅇㅇㅇㅇㅇㅇㅇ
C++도 객체 지향 프로그래밍을 지원하는 언어이기에
여기서도
객체지향에 대해 알아본다!! 뚜둥!!
* 객체지향 프로그래밍의 장점
1. 모듈 간 독립성의 증대
2. 재사용성의 증대
3. 융통성(flesivility)이나 확장성(extensibility) 면에서 장점
- 객체 : 관련된 함수와 변수들을 묶어놓은 것
(인스턴스) - 구체적인 값을 갖는 실체
- 클래스 : 객체가 가진 공통된 특성을 기술한 것
* 객체지향 프로그래밍의 세가지 특징
1. 캡슐화 encapsulation
객체를 정의하기 위해 관련된 함수들과 변수를 하나로 묶어주는 것
+ 정보 은닉 information hiding
객체의 사용자로부터 객체가 어떻게 구현되었는지에 대한 정보를 숨김
객체를 사용하기 위한 약속된 부분만 공개하고 객체의 내부 구현을 숨김
2. 상속 inheritance
기존의 클래스가 가진 기능을 이어받아 새로운 클래스를 정의하는 것
3. 다형성 polymorphism
객체의 서비스를 요청해도 어떤 객체가 사용되는지에 따라 다르게 동작하는 것
서로 다른 객체를 같은 방법으로 다룰 수 있는 기능
* vector 클래스
실행 중에 크기를 변경할 수 있는 배열 기능을 제공하는 클래스
프로그램 실행 중 동적으로 만들어지는 데이터를 보관해두고 사용할 때 유용
vector<int> v1; //int값을 저장하는 배열
vector 객체에 새로운 원소를 추가하려면 push_back 함수
WORD *pWord1 = new Word;
v1.push_back(pWord1); //배열의 원소를 추가하고, 배열의 크기 자동 증가
배열에 저장된 원소 개수를 구하려면 size 함수
v1.size()
출처 : C++ Programming with a WorkBook (이한출판사)