B2024001225 윤지선

2학기 7주차 예습과제 본문

2024년 2학기/C++ 프로그래밍

2학기 7주차 예습과제

윤지선 2024. 10. 13. 23:53

접근권한(접근속성, access modifier)

정수 클래스와 객체

- 정수를 다루기 위한 클래스 Integer

class Integer{   // Integer라는 이름의 class

 private:            // 속성

     int val;          // 멤버변수, private 속성

 public:              // 이 줄 이하는 public 속성

     int getVal();   // 멤버함수, 출력, getter

     int setVal();   // 멤버함수, 입력, setter

}Val1;             // 1. 객체를 만드는(정의) 첫 번째 방법

Integer Val2;  // 2. 객체를 만드는 두 번째 방법

 

클래스 멤버의 접근 권한

● 멤버변수와 멤버함수를 선언하기 전에 그들의 속성(멤버의 액세스 권한)을 지정\

● 클래스 외부에서 멤버에 접근할 수 있는 권한

- 전용(private)

   - 해당 클래스 내부에서만 접근할 수 있음

   - 디폴트 속성으로 생략 가능

- 범용(public)

   - 어디에서나 접근 할 수 있음

- 보호(protected)

   - private이지만 자식에게는 접근할 수 있도록 

 

 

클래스 멤버의 접근 권한 : private(전용)

자료(data)를 외부로부터 은폐하여 외부로부터의 잘못된 조작이나 사용에서 보호받기 위한 방법 제공(캡슐화)

private 멤버는 클래스 외부에서 직접 접근할 수 없다(information hiding) 

멤버변수는 주로 private으로 선언한다.

생략할 수 있다(멤버의 액세스 권한이 없으면 private)

해당 클래스의 멤버함수만이 접근 가능하다. 

age라는 멤버변수는 속성이 private이므로 해당 클래스의 멤버함수(getAge())에 의해서만 접근이 가능하다.

coco.age(X) / coco.getAge()(O)

클래스 외부에서 접근(입/출력)

 

클래스 멤버의 접근 권한 : protected(보호)

동일한 클래스의 멤버함수와 현재 클래스를 상속받아 생성된 파생(자식)클래스의 멤버함수만이 직접 접근할 수 있다.  

자신의 멤버함수와 자식의 멤버함수만 접근할 수 있게 함

● 상속을 하지 않으면 private 속성과 같음

상속에서 자세히 설명

 

함수 정의, 호출, 선언

함수 정의

- 함수 만들기

- 이름, 매개변수, 리턴형, 기능

● 함수 호출

- 함수 사용하기

- 이름, 매개변수

함수 선언

- 함수의 사용법

- 이름, 매개변수, 리턴형

- 컴파일러에게 함수에 대한 정보를 미리 줌

void display(void)

{

   prinf("안녕");

}

 

 

함수의 정의와 선언(원형, prototype)

덧셈기 함수의 정의(구현)

add() 함수의 정의에서 첫 번째 줄인 "int add(int x, int y)" 를 함수의 머리라고 하고 아래 부분은 함수의 본체(body) 라고 함

함수의 머리 부분을 다음과 같이 하나의 문장 (새미콜론으로 끝남) 으로 만드는 것을 함수 선언 또는 함수 원형(prototype)이라고 함

 

return문

결과 값을 호출한 함수로 반환

return문을 만나면 함수의 나머지 부분에 상관없이 함수의 실행을 종료하고 호출한 함수로 넘어감

 

private(protected)과 public 멤버의 접근 방법

멤버함수의 선언과 정의

클래스 내에 나타난 함수의 프로토타입(prototype)은 함수를 선언하는 것

실제 함수를 사용하기 위해서는 멤버함수에 대한 정의가 필요

멤버함수를 정의하는 2가지 방법

   - 클래스 안에서의 정의

   - 클래스 밖에서의 정의

   - 클래스 안에서 정의하는 경우는 클래스의 몸체가 비대해질 수 있으므로 잘 사용하지 않는다. 

 

객체의 멤버 호출

직접참조연산자 

- 일반 객체가 멤버(변수/함수)에 접근하기 위해 사용

간접참조연산자

- 포인터 객체가 멤버(변수/함수)에 접근하기 위해 사용

 

'2024년 2학기 > C++ 프로그래밍' 카테고리의 다른 글

C++ 시험범위 PPT  (0) 2024.10.19
2학기 7주차 과제  (0) 2024.10.14
2학기 6주차 과제  (1) 2024.10.07
2학기 6주차 예습과제  (0) 2024.10.06
자료구조 시간에 공부한 C++프로그래밍  (0) 2024.10.02