객체 지향 프로그래밍의 C++에서는 데이터와 그 기능을 하나의 패키지로 묶어 관리하기 위해 Class(클래스)를 사용한다.
클래스 내에서 사용되는 변수와 함수를 각각 멤버 변수, 멤버 함수라고 부른다.
클래스를 선언하기 위해서는 아래의 형식과 같이 작성한다.
class ClassName {
private:
MemberVariable;
public:
MemberFunction();
}; // 뒤에 세미콜론을 붙여줘야 함
class Date {
private:
int year;
int month;
int day;
public:
void AddYear() { ... };
void AddMonth() { ... };
void AddDay() { ... };
};
위의 예시에서 private:
, public:
을 볼 수 있는데, 이는 접근 제어 지시자로써 사용자가 멤버 변수와 멤버 함수에 접근할 때 그 종류에 따라 제한된다.
private
: 클래스 내부에서만 접근 가능 (접근 제어 지시자의 기본값)
public
: 클래스 외부에서도 접근 가능
protected
: 상속 관계일 때 접근 가능
주로 멤버 변수를 private
으로 지정해 외부에서 직접적으로 수정하지 못하도록 막고, public
인 멤버 함수를 통해 접근하도록 한다.