클래스는 사용자 정의 자료형의 일종이다.
구조체 처럼 사용자가 정의하여 쓴느 자료형이다.
* 그렇다면 클래스와 구조체의 차이는?
먼저 자동차로 예를 들어보겠다.
구조체(struct)로 자동차에 대한 정보를 기술 할 수 있다.
struct Car{
int number; //자동차 등록번호
int fuel; //남은 연료량
}
구조체에서는 표시하는 정보만 있지 수행 기능이 없다.
* 하지만 클래스를 사용하면 자동차가 지녀야 할 정보뿐만 아니라 기능까지 한 번에 정의 할 수 있다.
class Car{
public:
int number; //자동차 등록번호
int fuel //남은 연료량
void displayNumber(); //등록번호 출력
void displayFuel(); //연료량 출력
}
변수항복과 함수항목을 모두 포함 시킬 수 있다.
* 클래스 함수 항목을 정의하려면
void Car::displayNumber(){
cout << "차량 번호 : " << number << endl;
}
이와 같이 유효 범위 연산자(::)를 이용해 클래스 이름과 함수 이름 사이를 구분해 주도록 한다.
* 클래스 객체 선언
클래스도 일종의 사용자 정의 자료형이므로 클래스를 이용하면 번수를 선언할 수 있다.
Car myCar;
예제
- #include <iostream>
- using namespace std;
- class Car {
- public:
- int number;
- int fuel;
- void displayNumber(void);
- void displayFuel(void);
- };
- void Car::displayNumber(void){
- cout << "차량 번호 : " << number << endl;
- }
- void Car::displayFuel(void){
- cout << "남은 연료 : " << fuel << endl;
- }
- int main() {
- // your code goes here
- Car myCar;
- myCar.number = 1024;
- myCar.fuel = 80;
- myCar.displayNumber();
- myCar.displayFuel();
- return 0;
- }
결과
차량 번호 : 1024
남은 연료 : 80
반응형
'IT > C Language' 카테고리의 다른 글
산술 연산 관련 팁 (0) | 2014.12.19 |
---|---|
[클래스] 접근 지정자 (0) | 2014.12.19 |
긴 이름을 짧게 만들어 주는 typedef (0) | 2014.12.19 |
struct 구조형 정리 (0) | 2014.12.19 |
string 문자열 사용 (0) | 2014.12.19 |