728x90
반응형
// 클래스 = 자료 저장 + 자료 처리 = 변수 + 함수
// 클래스(타입) : 특정한 용도를 수행하기 위한 변수와 함수를 모아둔 틀(자료형)
// 객체(오브젝트) : 클래스라는 틀을 이용하여 찍어낸 개체(변수, 메모리 상의 공간)
/*
class : 이상적인 세계(원형)
object : 실존하는 세계(원형을 가져와 구체화한 것) :서로 독립적, 다름, 구별이 가능
이상적인 세계에 존재하는 원형을 실존세계에 가져와 구체화 시키는 것(인스턴스)
Class
-이산적인 세계에 존재하는 단 하나의 기준
-실존하지 않다.
-가장 중요한 특성만 개략적으로 알려준다.
-구체적인 수치가 없다.
Object
-자기 자신을 스스로 챙길 수 있다.
-하나의 온전한 단위로 존재한다.
-실존 세상에 있다.
-하나의 원형에서 파생 되어도, 서로 구분이 가능하다.
*/
// 클래스 = 자료 저장 + 자료 처리 = 변수 + 함수
// 클래스(타입) : 특정한 용도를 수행하기 위한 변수와 함수를 모아둔 틀(자료형)
// 객체(오브젝트) : 클래스라는 틀을 이용하여 찍어낸 개체(변수, 메모리 상의 공간)
/*
class : 이상적인 세계(원형)
object : 실존하는 세계(원형을 가져와 구체화한 것) :서로 독립적, 다름, 구별이 가능
이상적인 세계에 존재하는 원형을 실존세계에 가져와 구체화 시키는 것(인스턴스)
Class
-이산적인 세계에 존재하는 단 하나의 기준
-실존하지 않다.
-가장 중요한 특성만 개략적으로 알려준다.
-구체적인 수치가 없다.
Object
-자기 자신을 스스로 챙길 수 있다.
-하나의 온전한 단위로 존재한다.
-실존 세상에 있다.
-하나의 원형에서 파생 되어도, 서로 구분이 가능하다.
*/
#include <iostream>
using namespace std;
// private, protected, puclic
struct TV
{
private:
bool powerOn;
int channel;
int volume;
public: //기본적으로 클래스는 내부 내용들이 외부에서 목격이 되지 않는다.
//오브젝트 밖에서도 볼 수 있는 것이 퍼블릭
void on()
{
powerOn = true;
cout << "TV를 켰습니다." << endl;
}
void off()
{
powerOn = false;
cout << "TV를 껐습니다." << endl;
}
void setChannel(int cnl)
{
if (cnl >= 1 && cnl <= 999)
{
channel = cnl;
cout << "채널을 " << cnl << "(으)로 바꿨습니다." << endl;
}
}
void setVolume(int vol)
{
if (vol >= 0 && vol <= 100)
{
volume = vol;
cout << "볼륨을 " << vol << "(으)로 바꿨습니다." << endl;
}
}
};
int main(void)
{
TV lg;
lg.on();
lg.setChannel(10);
lg.setVolume(50);
lg.setChannel(-73); //함수안의 if문으로 접근하지 못했으므로 출력시 결과가 뜨지 않는다.
}
728x90
반응형