• 회원가입
  • 로그인
  • 구글아이디로 로그인

[class] C++ - Access Specifiers (접근지정자)

1,642  

목차

  1. Access Specifiers (접근지정자)

 

Access Specifiers (접근지정자)

[예제]

 

class Hz {  // 클래스

   public:    // 접근지정자

       int x;  // 클래스 멤버

}

 


[개념]

 

1. 

앞서 많이 봐온, public 키워드 같은 걸 말함.

 

2.

'클래스의 멤버 (속성 + 메서드)에 대한 '접근 수준 / 가시성' 결정.에 사용.

 


[종류]

 

public

모든 클래스에서 코드에 접근 가능.

즉, 클래스 밖에서도 클래스 멤버에 접근 가능 의미.


private

같은 클래스 내에서만 코드에 접근 가능. (기본값. 예제2 참고)

즉, 클래스 밖에서는 클래스 멤버에 접근 불가 의미.


protected

같은 클래스 또는 그 상속된 클래스 내에서만 코드에 접근 가능.

즉, 클래스 밖에서는 접근 불가하나 상속 클래스에선 접근 가능.

 


[예제1] public vs. private 차이.

 

#include <iostream>

using namespace std;


class Hz {

    public: // 외부 클래스 접근 허용.

        int x;

    private: // 외부 클래스 접근 차단.

        int y;

};


int main() {

  Hz my; // 객체 생성

  my.x = 3;  // 접근 가능

  my.y = 4;  // 접근 불가. (에러 유발)

  return 0;

}

 


[예제2] 접근지정자 미지정 시, 기본적으로 private 적용.

 

class MyClass {

  int x;   // Private 속성

  int y;   // Private 속성

};




분류 제목
class C++ - OOP (객체 지향 프로그래밍)
class C++ - Class (클래스) / Object (객체)
class C++ - Class Methods (클래스 메서드)
class C++ - Constructors (생성자)
class C++ - Access Specifiers (접근지정자)
class C++ - Encapsulation (캡슐화)
class C++ - Inheritance (상속)
class C++ - Polymorphism (다형성)
class C++ - Files (파일) - 파일생성/파일읽기/파일쓰기
class C++ - Exceptions (= Try...Catch..) - 에러 제어
목록
찾아주셔서 감사합니다. Since 2012