본문 바로가기
IT/C Language

클래스

by Jang HyunWoong 2014. 12. 19.

클래스는 사용자 정의 자료형의 일종이다. 

구조체 처럼 사용자가 정의하여 쓴느 자료형이다. 

 

 

* 그렇다면 클래스와 구조체의 차이는?

먼저 자동차로 예를 들어보겠다. 

구조체(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;

 

예제

  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class Car {
  5. public:
  6. int number;
  7. int fuel;
  8. void displayNumber(void);
  9. void displayFuel(void);
  10. };
  11.  
  12. void Car::displayNumber(void){
  13. cout << "차량 번호 : " << number << endl;
  14. }
  15. void Car::displayFuel(void){
  16. cout << "남은 연료 : " << fuel << endl;
  17. }
  18.  
  19. int main() {
  20. // your code goes here
  21. Car myCar;
  22.  
  23. myCar.number = 1024;
  24. myCar.fuel = 80;
  25.  
  26. myCar.displayNumber();
  27. myCar.displayFuel();
  28. return 0;
  29. }

결과

차량 번호 : 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