본문 바로가기

프로그래밍/C ++

[C++] 객체 (object)

객체란,
소프트웨어  시스템 안의 어떠한 대상을 표현하는 것
  • 정해진 처리를 수행할 수 있음 👉 행위, 메소드, 멤버함수
  • 처리 과정에 따라 내부 상태 변화 👉 속성, 데이터 멤버
  • 다른 객체와 상호작용 👉 메시지 전달(멤버함수 호출)

객체 사용 형식

  • 객체 이름에 멤버선택 연산자(.)를 사용하여 객체의 멤버 액세스한다.
  • 객체 멤버함수 안에서 그 객체에 속한 멤버를 사용할 때는 멤버 이름만으로 액세스한다.
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