반응형
c에서 c++로 넘어오면서 새로 생긴 개념중의 하나가 class 이며 c++의 꽃이라고 불리운다.
class란 객체 지향 프로그래밍에서 class란 같은 종류의 속성고 행위를 정의한것으로 사용자 정의 데이터 형이라고 할 수 있다.
선언방법을 알아보자
1 2 3 | class test_class{ int value; }; | cs |
간단한 class를 하나 정의하였다.
class 이름은 test_class이며 맴벼 변수로 int형인 value를 하나 가지고 있다.
class에는 접근제한자라는 개념이 있는데 c++에서는 default가 private이다.
접근제한자는 3가지 종류가 있다.
1. private - default 접근 제한자이며 class내부에서만 접근이 가능하다.
2. public - 어디에서나 접근이 가능하다.
3. protect - 상속받은 class에서만 사용 가능하다.
pubic과 private의 차이점을 알아보자
1 2 3 4 5 6 7 8 9 10 11 | class test_class{ public: int value; }; int test_fnc()//테스트 함수 선언 { test_class test; //test_class 객체 선언 test.value = 1; //public이므로 접근이 가능하다. return test.value; //public이므로 접근이 가능하다. } | cs |
1 2 3 4 5 6 7 8 9 10 11 | class test_class{ private: int value; }; int test_fnc()//테스트 함수 선언 { test_class test; //test_class 객체 선언 test.value = 1; //private이므로 접근이 불가능하다. return test.value; //private이므로 접근이 불가능하다. } | cs |
접근제한자가 private이기 때문에 맴버변수에 접근이 불가능하며 컴파일시에 오류가 난다.
반응형
'프로그래밍 > c++' 카테고리의 다른 글
[c++] virtual(가상함수,순수가상함수) (0) | 2018.12.19 |
---|---|
[c++] class의 상속 (부모class 및 자식class) (0) | 2018.12.19 |
[c++] class의 생성자 및 소멸자 (0) | 2018.12.19 |
[c++] 객체지향 프로그래밍에서의 캡슐화란? (0) | 2018.12.19 |
[c++] this 포인터 (0) | 2018.12.19 |