[C++] 처음부터 시작하는 C++ 5편. 클래스 (Class) 사용법
안녕하세요!! @wonnieyoon입니다.
오늘은 클래스의 사용법에 대해 포스팅하겠습니다.
1. 클래스란?
C++의 구조체와 거의 비슷한 녀석입니다.
변수와 함수를 같이 포함할수 있죠.
그럼 클래스와 구조체의 차이점은 뭐가 있을까요?
큰 차이는 없고 단지 접근 제한자의 차이점만 있을 뿐입니다.
구조체의 경우 기본 접근 제한자 : public
클래스의 경우 기본 접근 제한자 : private
왜 비슷한 기능을 없애지 않았냐라고 물을수 있겠지요.
그 답은 c언어와의 호환성 때문입니다.
2. 절차 -> 객체 지향 프로그래밍으로
c언어는 절자 지향 프로그래밍 방식으로 코딩을 하지만
c++ 언어는 객체 지향 방식의 프로그래밍 언어 입니다.
그럼 왜 객체 지향 방식을 사용할까요?
간략히 적어 볼께요.
- 생산성 향상
- 코드의 재사용 극대화
- 유지보수의 용이성 등등..
그럼 클래스와 객체는 뭘까요?
쉽게말해 클래스는 붕어빵을 찍어낼수 있는 틀이고
틀에서 찍혀서 나온게 객체라고 생각하시면 됩니다.
3. 코드
class Person{
private:
char * name;
int height;
int weight;
public:
void MyGetInformation();
void MySetInformation(char * name, int height , int weight);
};
void Person::MyGetInformation()
{
cout << "이름:"<< name << " 키:" << height << " 몸무게:"<< weight << endl;
}
void Person::MySetInformation(char * name, int height , int weight)
{
this->name = name;
this->height = height;
this->weight = weight;
}
int main()
{
Person p;
p.MySetInformation("steem", 150, 80);
p.MyGetInformation();
return 0;
}
결과
위의 코드를 보시면 private라고 선언된 곳은 메인(외부)에서 직접 호출을 할수 없기 때문에 함수를 따로 만들어 호출하는 형태를 만듭니다.
1. [C++] 처음부터 시작하는 C++ 1편. 입출력
2. [C++] 처음부터 시작하는 C++ 2편. using,namespace 사용법
3. [C++] 처음부터 시작하는 C++ 3편. 메모리 할당 및 해제( new , delete ) 사용법
4. [C++] 처음부터 시작하는 C++ 4편. 구조체( struct) 사용법
어떤 댓글을 달아야 할지...ㅠ ㅋㅋ 좋은시간 되세요^^
ㅎㅎ감사합니다.
수고많으셔요. ㅎㅎ
자주 보러 와주시네요ㅎ 감사합니다.