구조체랑 클래스의 차이?

클래스란 자료저장 + 자료처리

변수 + 함수

근데 구조체에서도 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