클래스

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
admin