객체란,
소프트웨어 시스템 안의 어떠한 대상을 표현하는 것
- 정해진 처리를 수행할 수 있음 👉 행위, 메소드, 멤버함수
- 처리 과정에 따라 내부 상태 변화 👉 속성, 데이터 멤버
- 다른 객체와 상호작용 👉 메시지 전달(멤버함수 호출)
객체 사용 형식
- 객체 이름에 멤버선택 연산자(.)를 사용하여 객체의 멤버 액세스한다.
- 객체 멤버함수 안에서 그 객체에 속한 멤버를 사용할 때는 멤버 이름만으로 액세스한다.
class Counter {
int value;
public:
void reset()
{ value = 0; }
void count()
{ ++value; }
int getValue() const
{ return value;}
};
int main(){
Counter c;
c.reset();
c.count();
c.value =0; // private 멤버 접근 -> 오류!
}
const Counter c;
int n = c.getValue(); // OK!
c.count(); //오류!
가시성 지시어
클래스의 멤버가 공개되는 범위를 나타냄
- Private (디폴트) : 정보 은닉을 위해 사용됨, 클래스 구현을 위한 내부상태(데이터 멤버)는 일반적으로 private으로 정의함
- 소속 클래스의 멤버함수
- 친구 클래스의 멤버함수 및 친구함수
- 그 외에는 비공개
- Public : 전 범위
- 주로 외부에 제공할 인터페이스 제공 위해 사용됨
- protected
캡슐화(encapsulation)
객체 내부의 상세한 구현부분과 외부 사용자의 관점 분리
내부 속성 등 구현에 대한 부분은 공개하지 않으며(정보은닉) 객체 외부에서는 공개된 인터페이스를 통해 객체를 사용할 수 있음
반응형
'프로그래밍 > C ++' 카테고리의 다른 글
[C++] 연산자 다중 정의 (0) | 2024.12.04 |
---|---|
[C++]생성자 (2) | 2024.12.04 |
[C++] 함수 (0) | 2024.12.03 |
[C++] 자료형 (묵시적형변환) (0) | 2024.12.03 |
[c++] C++ 변수의 특징 (0) | 2024.07.08 |