접근 지정자 - public, private, protected

CODEDRAGON Development/C, C++

반응형


 

접근 지정자

접근 제어 지시자

C++에서 public, private, protected 가지의 접근 지정자를 제공합니다.

public

·       어디서든지 객체를 생성하여 사용가능

·       모든 멤버 함수에서 클래스의 멤버를 사용할 있습니다.

protected

·       현재 클래스의 멤버 파생 클래스의 멤버에서 사용

private

·       클래스 안에서만 사용가능

·       오직 현재 클래스의 멤버 함수와 friend 선언된 함수만이 클래스의 멤버를 사용

default

·       아무것도 지정하지 않으면 디폴트로 private

 

 

 

접근지정자 이해 2STEP

·       STEP1 - 접근 가능 영역범위

·       STEP2 - 접근가능표

 

 

STEP1 - 접근 가능 영역범위

public :

모든 접근 허용

 

protected :

같은 패키지(폴더) 있는 클래스 상속관계 클래스들만 허용

 

default :

아무것도 지정하지 않으면 private 동일

 

private :

현재 클래스 에서만 허용

 

 

 

 

같은 패키지(동일 패키지)같은 폴더에 있는 클래스를 의미

 

 

 

 

STEP2 - 접근가능표

private = default < protected < public

지시자

클래스 내부

(일반 클래스)

상속 클래스

(서브 클래스)

이외의 영역

(아무 관계 없음)

private

O

X

X

default

O

X

X

protected

O

O

X

public

O

O

O

 

 

 

 

클래스 정의하기

class Man { // Man 클래스 정의

private: // 접근 지정자 private 사용

char *name; // 멤버 변수 선언

int age;

 

public:

void SetNameAge(); // 멤버 변수를 처리하는 멤버 함수 선언

};