구조체랑 클래스의 차이?
클래스란 자료저장 + 자료처리
변수 + 함수
근데 구조체에서도 C++은 변수 함수 넣을수있음.
클래스: 특정 용도를 수행하기 위해 변수와 함수를 모아 둔 틀
클래스라는거 자체도 어떻게보면 자료형이라고 볼수있어.
틀을 찍어낸게 객체야
변수 , 즉, 메모리 상의 공간
#include <iostream>
using namespace std;
struct TV {
private:
bool powerOn;
int channel;
int volume;
public:
void setVolume(int vol) {
if (vol ≥ 0 && vol ≤ 100) {
volume = vol;
}
}
};
int main()
{
TV lg;
lg.powerOn = true;
lg.channel = 10;
lg.volume = 50;
lg.setVolume(50);
}
발생하면안되는경우에 방지하기 위해 함수를 쓸수있어. 구조체에 볼류 세팅하는 함수를 만들어보면
그래도 어떤 개발자는 이 함수 안쓸수도있잖아.
안에서는 접근가능하면서 밖에서는 접근 불가능하면 참 좋겠다. 접근 제어 지시자
private, protected, public