Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
Tags
- https://ji-han.tistory.com/
- 태어난김에 보스까지
- 이리5조
- https://mynameiskgws.tistory.com/
- https://hjmag1120.tistory.com/
- 스파르타코딩클럽
- https://vetenir.tistory.com/
- https://eo-oe.tistory.com/
Archives
- Today
- Total
info8995 님의 블로그
7일차(class) 본문
객체지향 프로그래밍과 class의 기본 이해
객체지향 프로그래밍(OOP)에서는 데이터를 구조화하고 동작을 정의하기 위해 class를 사용합니다.
class는 크게 동작과 데이터로 구성됩니다.
동작은 멤버 함수, 데이터는 멤버 변수로 표현되며, 이를 통해 객체의 상태와 행동을 정의할 수 있습니다.
다음은 Student 클래스를 예로 든 간단한 구조입니다.

위 코드에서 동작(getAvg, getMaxNum)은 공개하고, 세부 데이터(kor, eng, math)는 숨깁니다.
이렇게 설계해야 변화에 유연하게 대처할 수 있습니다.
접근 제어 (public과 private)
class 내부의 멤버는 접근 제어를 통해 외부에서 접근 여부를 제어할 수 있습니다.
접근 제어에는 public, private 등이 있으며, 아무것도 명시하지 않으면 기본적으로 private로 설정됩니다.
접근 제어의 특징
- private: 외부에서 직접 접근할 수 없습니다.
- public: 외부에서 자유롭게 접근할 수 있습니다.
다음은 private 멤버에 접근하려고 할 때 발생하는 에러를 보여줍니다.

getter와 setter의 활용
private 멤버에 접근하거나 수정해야 할 때는 getter와 setter를 사용합니다.
이를 통해 캡슐화를 실현하며, 외부에서 데이터를 안전하게 다룰 수 있습니다.
getter와 setter 예제
다음은 getter와 setter를 사용한 Student 클래스입니다.


코드 설명
- setKorScore: 외부에서 국어 점수를 설정하는 함수입니다. 잘못된 인덱스를 방지하기 위해 조건문을 추가했습니다.
- getKorScore: 외부에서 국어 점수를 읽어오는 함수입니다. 잘못된 인덱스는 기본값(-1)을 반환합니다.
- 캡슐화의 장점
- 데이터 보호: 데이터를 외부에서 직접 수정하지 못하도록 보호합니다.
- 유지보수 용이성: 클래스 내부 구현을 수정해도 외부 코드에 영향을 미치지 않습니다.
- 코드 가독성: getter와 setter로 데이터를 관리하여 코드의 명확성을 높입니다.
마무리 - 객체지향 프로그래밍에서 class와 캡슐화는 중요한 설계 원칙입니다.
getter와 setter를 활용해 데이터를 안전하게 보호하고 관리하세요.
이러한 설계는 유지보수성과 유연성을 크게 향상시킵니다.
'TIL(Today I Learned) > C++' 카테고리의 다른 글
| 12일차(간단한 도서관시스템) (0) | 2025.01.02 |
|---|---|
| 11일차(컨테이너 벡터) (0) | 2024.12.31 |
| 10일차(오버로딩, 오버라이딩) (0) | 2024.12.30 |
| 9일차(메모리 정리,스택과 힙) (2) | 2024.12.27 |
| 6일차(변수, 배열, 함수) (1) | 2024.12.23 |