클래스
: 객체를 만드는 설계도
|
절차 지향 프로그래밍
- 함수라는 단위로 묶는다.
- 데이터와 함수가 묶여있지 않다.
객체 지향 프로그래밍
- 캡슐화
- 데이터와 함수를 하나의 덩어리로 묶는다
Instance(인스턴스)
클래스로부터 만들어지는 각각의 객체
객체
- 상태와 동작을 가지고 있다.
- 객체의 상태는 객체의 특징 값(속성)이다.
- 객체의 동작 또는 행동은 객체가 취할 수 있는 동작
멤버 변수
클래스 안에서 그러나 멤버 함수 외부에서 정의되는 변수
- 객체의 속성을 나타낸다.
- 인스턴스가 생설될 때 멤버 변수가 할당된다.
멤버 함수
객체의 동작을 나타낸다.
- 내부 정의, 외부 정의
- 멤버 함수가 클래스 내부에 정의되면 자동적으로 인라인 함수가 된다.
- 멤버 함수가 클래스 외부에 정의되면 일반적인 함수와 동일하게 호출
- 중복 정의 가능
포인터, 레퍼런스 사용 가능
ex)
Car myCar;
Car *pCar = &myCar;
myCar.speed = 100;
pCar→speed = 120; // (*pCar).speed = 120;
pCar→speedUP();
string 클래스
문자열을 나타내는 클래스
- 초기화
string s1;
string s2(”I”);
- 복사
string s3 = s2;
string s4 = “you”;
- string size는 NULL 문자 제외한 크기
접근 제어자
Private
- 클래스 안에서만 사용 가능
Public
- 어디서든지 객체를 통하여 사용 가능
- 아무것도 지정하지 않으면 디폴트로 private ← 은닉화 지원
- 접근자(accestor): 멤버 변수의 값을 반환, 읽기
- 설정자(mutator): 멤버 변수의 값을 설정, 변경
→ 잘못된 값이 넘어오는 경우, 이를 사전에 차단할 수 있다는 장점
클래스는 C에서의 구조체와 동일한 처리
- 구조체는 디폴트가 public
클래스의 선언과 구현의 분리
- 헤더 파일을 이용해 분리하는 것이 일반적
728x90
반응형
'C++' 카테고리의 다른 글
[C++] Objects (0) | 2024.04.30 |
---|---|
[C++] Constructors and Destructors (0) | 2024.04.30 |
[C++] Dynamic Allocation (0) | 2024.04.30 |
[C++] Expression (0) | 2024.04.30 |
[C++] Make Utility (0) | 2024.04.30 |