클래스
Programming/C++ 2015. 5. 12. 01:13클래스와 구조체의 차이점
- 키워드 struct를 대신해서 class를 사용하면 구조체가 아닌 클래스가 된다.
ex)
class carr gameID[CAR_CONST::ID_LEN];
{
char gaemID[CAR_CONST::ID_LEN];
int fuelGause;
int carSpeed;
void showCarstate() {....}
};
접근제어 지시자
public : 어디서든 접근이 가능하다
protected : 상속관계에 놓여있을 때, 유도 클래스에서 접근이 허용
private : 클래스 내에서만 접근허용
* 클래스에서는 아무런 선언이 존재하지 않으면 private로 간주한다.
C++에서의 파일 분할
* 헤더 파일의 역할을 알고있는다.
* c언어를 대상으로 해더파일에 들어가야할 내용을 알고 있다.
* 헤더파일의 중복방지를 위해서 #ifndef~#endif를 알고 있다.
* 둘 이상의 파일을 컴파일해서 하나의 실행파일을 만드는 법을 알고 있다.
* 링커(Linker)의 하는 일을 알고 있다.
객체지향 프로그래밍의 이해
- 객체지향 프로그래밍은 현실에 존재하는 사물과 대상, 그리고 그에 따른 행동을 있는 그대로
실체화 시키는 형태의 프로그래밍이다.
- 객체를 이루는 것은 데이터와 기능이다.
- 객체는 하나 이상의 상태 정보(데이터)와 하나 이상의 행동(기능)으로 구성이 되는데,
상태 정보는 변수를 통해서 표현이되고, 행동은 함수를 통해서 표현이 된다.
- 객체를 생성하기에 앞서 객체의 생성을 위한 틀(mold)를 먼저 만들어야된다.
클래스 기반의 두 가지 객체생성 방법
- 객체를 실체화시키기(C++에서 정의하고 있는 객체 생성 방법)
1. ClassName objName; // 일반적인 변수의 선언방식
2. ClassName *ptrObj = new ClassName; // 동적 할당방식(힙 할당방식)
객체간의 대화 방법(Message Passing)
- 하나의 객체가 다른 하나의 객체에게 메세지를 전달하는 방법은( 어떠한 행위의 요구를 위한 메세지 전달) 함수호출을 기반으로 한다.
그래서 객체지향에서는 이러한 형태의 함수호출을 가리켜 '메세지 전달'이라 한다.
'Programming > C++' 카테고리의 다른 글
복사생성자 (0) | 2015.05.13 |
---|---|
클래스와 배열 (0) | 2015.05.13 |
캡슐화(Encapsulation) (0) | 2015.05.12 |
const 함수 (0) | 2015.05.12 |
정보은닉(Information Hiding) (0) | 2015.05.12 |