C++/C++ 기본

C++ 클래스와 객체

검정비니 2018. 7. 2. 00:39
728x90
반응형

C++ 클래스와 객체



- C++ 객체는 멤버 함수(행동)와 멤버 변수(상태)로 구성된다.



C++에서 클래스란 객체를 정의하는 틀 혹은 설계도로서, 클래스에 멤버 변수와 멤버 함수를 선언한다. 클래스와 객체 관계는 붕어빵 틀과 붕어빵의 관계와 비슷하다. 붕어빵 틀은 C++ 클래스에, 붕어빵은 C++ 객체에 비유된다. C++ 객체는 C++ 클래스라는 틀에서 찍어내어, 멤버 변수 메모리와 멤버 함수 코드를 가지고 있으며, C++ 프로그램이 실행되는 동안 실존하는 실체이다. 이러한 객체는 인스턴스(instance)라고도 불리운다.


가끔 클래스와 객체를 같은 의미로 섞어 부르기도 하지만, 대화에 혼란을 가져오므로 정확하게 사용하는 것이 좋다. 절대 클래스를 객체라고 부르지 않도록 주의하라!


다음 예제는 C++ 언어로 작성된 TV 클래스와 TV 객체들을 보여준다. TV 클래스에는 멤버 변수와 멤버 함수들이 선언되어 있다. TV 클래스는 하나이지만 TV 객체들은 얼마든지 생성될 수 있다. 이때 각 TV 객체들은 상호 별도 공간에 생성된다. TV 객체들의 멤버 함수 코드는 TV 클래스에 선언된 코드와 동일하지만, 프로그램이 실행되는 동안 TV 객체들이 서로 다르게 활용되기 때문에, 동일한 멤버 변수의 값이 각 TV 객체에서 서로 다르게 유지된다.


i.e.

class TV {

bool on;

int channel;

int volume;

public:

void powerOn() { .. }

void powerOff() { .. }

void increaseChannel { .. }

void decreaseChannel { .. }

void increaseVolume { .. }

void decreaseVolume { .. }

};

반응형

'C++ > C++ 기본' 카테고리의 다른 글

객체 생성과 객체 활용  (0) 2018.07.02
c++ 클래스 만들기  (0) 2018.07.02
C++에서의 문자열  (0) 2018.07.01
키 입력 받기  (0) 2018.07.01
namespace와 std::  (0) 2018.07.01