struct Example{
int a;
int b; // int a,b 를 member data라고 부름
int funcA(){
return;
} // 이것을 member function이라고 하며, 다른 언어는 method라고 함.
}
위키피디아 : 객체란, 메모리에 존재하고 이름으로 접근할 수 있는 모든 것
메모리 관점 : 객체를 지역변수로 생성하면, 스택에 멤버 데이터만 객체당 한개 씩 생성
멤버 함수는 객체의 개수에 상관 없이 코드 메모리에 한 개만.
즉, strcut Example t1,t2,t3; 라고 선언하면 STACK 영역에 멤버 데이터들이 3개(선언한 개수만큼) 할당되고
CODE MEMORY 영역에 멤버 함수가 1개(객체 수에 상관 없이) 할당된다.
struct Person{
private:
std::string name;
int age;
protected: // 이렇게 age 멤버 함수를 접근하기 위해서 멤버 데이터만 가능
void setAge(ing value){
if(value > 0)
age = value;
else
age = 0;
}