C 언어에서 배우는 개념 중 하나가 바로 "구조체" 이다.
이 구조체는 원하는 데이터를 구조체 라는 한 자료구조에 묶어 표현하는 것이다.
예를 들어 다음과 같이..
struct data {
int id;
char *name;
char *detail;
};
그런데 구조체 처럼, C++에서도 데이터를 묶을 수 있는 개념이 존재한다.
바로 "클래스" 이다.
이 "클래스"는 "구조체"와 매우 흡사하게 생겼다. 하지만 구조체와는 약간 다른 느낌이다.
class data
{
public :
int id;
char *name;
char *detail;
};
C++ 에서 사용하는 클래스는 위처럼 구조체와 동일한 느낌으로 사용할 수 있고,
변수 뿐 아니라 다음과 같이 함수도 선언이 가능하다.
class data
{
public :
int id;
char *name;
char *detail;
void print_data()
{
cout << id << "\n";
cout << name << "\n";
cout << detail << "\n";
}
}
또한, 클래스를 살펴보면 "public" 이라고 표시된 부분이 있는데, 클래스에서는 이 public/private 키워드를 이용해서 멤버 변수 및 함수의 은닉 여부를 결정 할 수 있다. 이것 또한 구조체와 다른 부분이라 할 수 있겠다.
'Backend > C++' 카테고리의 다른 글
객체 (Object) (0) | 2012.04.13 |
---|---|
C++, 객체지향 언어! (0) | 2012.04.12 |