이번시간에는 클래스에 대해서 알아보도록 하겠습니다.
저번시간에 배웠던 객체지향 프로그래밍을 기억하시겠죠?
제가 저번 글 후반에 적었던 현실과 빗대어 설명한 글에
객체지향프로그래밍에 설계도에 대해서 말을 했습니다.
클래스란 여기서 바로 이 "설계도"입니다.
객체 (object)란 이 설계도대로 만들어진 물체를 말하는것이구요
우리가 자동차를 만든다고 칩시다.
이 "자동차" 가 바로 객체인것이고
객체를 만들기 위해서, 그 객체가 어떻게 생겼는지 설명해주는 설계도가 바로
클래스인 것입니다. 이해되셨나요??
자 그럼 바로 클래스를 한번 만들어 보도록 하겠습니다.
C++에서 클래스를 만드는 방법은 아래와 같습니다.
class 클래스명 {
//클래스 내용
};
이런식으로 해주면 됩니다!
자 그럼 이번에는 예제를 한번 보도록 합시다.
사람 이라는 객체를 만들어 보겠습니다.
class People {
};
이렇게 만들 수 있겠네요!
이제 클래스를 만들었으니, 실행을 해볼까요?
당연히 아무것도 안됩니다! 오히려 에러가 나죠!
왤까요??
우리는 지금 클래스! 즉, 설계도만 만들었습니다
그 설계도를 어떻게 사용할지에 대해서 작성한게 없다는말이죠
프로그램한테 설계도 한장 쥐어주고 아무말 안하고있으면
프로그램은 절대 아무것도 하지않습니다!
이 설계도를 사용하는 메인함수를 만들어야하죠!
네! 여러분이 생각하는 그 메인함수입니다!
그럼 이제 한번 작동이 되는 코드로 만들어볼까요??
#include <iostream>
using namespace std;
class People {
};
void main() {
People jeckl;
People gildong;
}
이렇게 메인함수를 만들고 메인함수 내용대로 하나씩 흘러가봅시다!
People형 변수 jeckl과 gildong을 만듭니다!
이렇게 하면 프로그램은 People에 대한 설계도를 가지고 있기때문에
People 객체를 만들어주게됩니다!
물론 People은 안에 아무것도 없는 빈 껍데기라
실행시켜도 아무것도 안하는것처럼 보이겠지만요!
눈에는 보이지않지만 jeckl이라는 People객체와
gildong이라는 People객체를 만들었을겁니다!
자 그럼 클래스에 대한 아주아주 기본!을 배웠으니
다음시간에는 OOP (객체지향프로그래밍) 의 4대 기본원칙중
캡슐화에 대한 내용을 배워 보도록 하겠습니다!
다음시간에 봐요!
'C++' 카테고리의 다른 글
([C++] 29강) 정보은닉과 접근제어지시자 (private, public, protected) (0) | 2022.08.22 |
---|---|
([C++] 28강) 객체지향(OOP)의 4대 기본원칙 중 캡슐화 (0) | 2022.08.22 |
([C++] 26강) 객체지향프로그래밍과 절차지향프로그래밍 [매우 중요] (0) | 2022.08.19 |
([C++] 25강) 랜덤 rand, srand, rand함수최댓값 (C와 동일) (0) | 2022.06.22 |
([C++] 24강) 자동적 형변환, 명시적 형변환 (C와 동일) (0) | 2022.06.22 |