본문 바로가기

C++

([C++] 27강) 클래스(class)와 객체(object)

이번시간에는 클래스에 대해서 알아보도록 하겠습니다.

저번시간에 배웠던 객체지향 프로그래밍을 기억하시겠죠?

제가 저번 글 후반에 적었던 현실과 빗대어 설명한 글에

객체지향프로그래밍에 설계도에 대해서 말을 했습니다.

클래스란 여기서 바로 이 "설계도"입니다.

객체 (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대 기본원칙중

캡슐화에 대한 내용을 배워 보도록 하겠습니다!

다음시간에 봐요!