- Access 지정
- private : class 내부에서만 접근 가능
- public : class 외부에서도 접근 가능
- protected : class 내부와 상속관계의 class 에서만 접근 가능
구조체 : 기본 속성이 public
class : 기본 속성이 private
멤버변수는 일반적으로 private, 멤버 함수는 public영역에 만든다
정보은닉 : 객체 외부에서 객체내의 멤버에 접근하는 것을 허용하지 않는 것
캡슐화 : 데이터 + 함수를 묶어 하나의 블랙박스를 생성
외부에 노출 할 것과 감출 것 결정
외부에 노출되는 것을 인터페이스 라고 하고 객체 사용 개발자는 인터페이스만 알면 된다.
class의 private영역에 있는 멤버변수에 data를 입력 / 출력 하기 위한 함수를 public에 별도로 만들어서 사용
Setter 함수 : 멤버 변수에 값을 입력하기 위한 함수
Getter 함수 : 멤버 변수에 있는 값을 출력하기 위한 함수
#include<iostream>
using namespace std;
class Member
{
private:
int age;
public:
void SetAge(int _age){ age = _age;}
int GetAge() { return age; }
};
void main(void)
{
Member mb;
mb.SetAge(20);
cout<< mb.GetAge()<<endl;
};
- This 포인터
- 자기 자신을 가리키는 용도로 사용되는 포인터
자기 참조 포인터라고도 함
컴파일러가 자동으로 만들어 주는 포인터
'this->멤버변수명'
- 생성자
객체가 생성될 때 자동으로 호출되는 함수
일반적으로 객체가 제대로 동작할 수 있게 준비하는 역할(초기화)
함수 오버로딩(같은 이름에 매개변수만 다른애들) 가능, 따로 안 만들어주면 자동으로 Default생성자'class명(){}'생성
class class명
{
public:
class명/*class명은 같아야한다*/(매개변수)
{함수내용}
#include<iostream>
using namespace std;
class Account
{
public:
Account()
{ cout<<"Account 생성자 호출"<< endl;}
};
void main(void)
{
Account acc; // 객체 생성시. 호출이 자동으로 된다.
}
- 소멸자
객체가 소멸할 때 자동으로 호출되는 함수
일반적으로 객체가 사용한 내용을 정리하는 역할
소멸자는 하나의 클래스에 하나 이상 존재할 수 없음, 따로 안 만들어주면 default 소멸자 생성'~class명(){}'
#include<iostream>
using namespace std;
class Account
{
public:
Account()
{ cout<<"Account 생성자 호출"<< endl;}
~Account()
{cout<<"Account 소멸자 호출"<<endl;}
};
void main(void)
{
Account acc; // 객체 생성시. 호출이 자동으로 된다.
}
http://mindsteeper.tistory.com/75
'[ IT ] > C++, 자료구조' 카테고리의 다른 글
C++ 파일 분할 (1) | 2015.06.24 |
---|---|
C++ 전자레인지 만들기 (0) | 2015.06.24 |
C++ Class (0) | 2015.06.24 |
C++ 은행 계좌 관리 프로그램 (0) | 2015.06.24 |
C++ 매크로 / Inline 함수 / 동적 할당 (0) | 2015.06.24 |