P와 P와 P, 그리고 친구.

niraaah·2023년 4월 14일
2

혼자하는 스터디

목록 보기
11/25
post-thumbnail

<접근 제어 지시자>

A. Public: 어디서든 접근 가능
B. Protected: 상속관계일 때 접근 가능
C. Private: 해당 클래스에서만 접근 가능

  • 굳이 사용하는 이유
    : 의도치 않은 코드의 수정을 막고 객체와 객체간의 간섭이 최대한 없도록 하기 위함

[C언어]

#include<iostream>

using namespace std;

class A {
public:
    int num1;

    A() : num1(5), num2(6), num3(7) {}
protected:
    int num2;
private:
    int num3;

};

class B : public A {	
/*A를 상속받은 B
즉, A: 부모 클래스
	B: 자식 클래스*/
    
public:
    void setNum() {
        num1 = 10;   //컴파일 OK!!
        num2 = 100;  //컴파일 OK!!
        num3 = 1000; //컴파일 Error!!
    }
};

int main(void) {
    A a;

    cout << a.num1 << endl; //컴파일 OK!!
    cout << a.num2 << endl; //컴파일 Error!!
    cout << a.num3 << endl; //컴파일 Error!!
}

  • friend 클래스

    : friend로 선언된 다른 클래스의 private 및 protected 멤버에 접근할 수 있게 함. 특정 상황에서 클래스 내에 접근하지 못하도록 private 제한을 두었는데, 필요의 경우 해당 클래스나 함수에서 접근이 가능하도록 하는 것.

HwanShell

profile
코딩천재

0개의 댓글