객체는 속성과 동작을 지닌다.
자동차가 객체라면 클래스는 설계도 이다.
class Car {
//비공개를 먼저 선언하고
//그 다음에 공개를 정의한다.
public:
// 멤버 변수 선언
int speed; // 속도
int gear; // 기어
string color; // 색상
// 멤버 함수 선언
void speedUp() { // 속도 증가 멤버 함수
speed += 10;
}
void speedDown() { // 속도 감소 멤버 함수
speed -= 10;
}
};
- > 이 클래스는 값의 입력 및 변경이 불가능하다.
잘못된 설계의 클래스다.
class Car {
private:
// 멤버 변수 선언
int speed; //속도
int gear; //기어
string color; //색상
...
public:
// 접근자 선언
int getSpeed() {
return speed;
}
// 설정자 선언
void setSpeed(int s) {
speed = s;
}
- > set 매소드와 get 매소드를 정의 해줘야 한다.