세상 모든 것이 객체다
- 그림과 같이 우리 주변에 있는 모든 것이 객체다.
- 즉, 실세계는 객체들의 집합이다
- 객체 (odject) <==> 주체 (subject)
객체는 캡슐화된다
캡슐화 (encapsulation)
: 객체의 구성 요소들을 캡슐로 싸서 보호하고 볼 수 없게 하는 것으로, 객체의 가장 본질적인 특징
ex) 캡슐에 든 약은 어떤 색인지 어떤 성분인지 알 수 없다
객체의 일부 요소는 공개된다
객체들이 서로 정보를 교환하고 통신하기 위해 일부 요소의 공개 노출이 필요하다
ex) TV의 on/off 버튼, 음량 조절 버튼 등은 사용자나 다른 기계와 통신하기 위해 노출되어 있음
C++ 객체는 멤버 함수와 멤버 변수로 구성된다
객체는 자신만의 고유한 상태(state)와 행동(behavior)으로 구성
ex)
TV 객체의 상태(state)
- on / off 속성
- 채널
- 음량
TV 객체의 행동(behavior)
- 켜기
- 끄기
- 음량 증가 / 감소
- 채널 증가 / 감소
일반적인 객체의 상태와 행동은 C++ 객체에서도 적용
C++은 멤버 변수와 멤버 함수로 구성
C++ 멤버 변수 = 상태를 나타내는 속성
C++ 멤버 함수 = 행동을 구현한 코드
C++ 클래스와 C++ 객체
클래스 (class)
: 객체를 정의하는 틀 혹은 설계도
=> 클래스에 멤버 변수와 멤버 함수를 선언
객체를 class라 부르지 말 것 (혼란 발생)
C++ 객체는 C++ 클래스라는 틀에서 찍어내어, 멤버 변수 메모리와 멤버 함수 코드를 실제 가지고 C++ 프로그램이 실행되는 동안 실족하는 실체 혹은 인스턴스(instanc)이다
==> 붕어빵 틀 = 클래스, 붕어빵 = 객체
'C++ > [책 정리] 명품 C++ 프로그래밍' 카테고리의 다른 글
3. 객체 생성과 객체 활용 (0) | 2023.03.10 |
---|---|
2. C++ 클래스 만들기 (0) | 2023.03.10 |
5. #include <iostream>에 숨은 진실 (0) | 2023.03.10 |
4. 키보드로 문자열 입력 (0) | 2023.03.10 |
3. 키 입력 받기 (0) | 2023.03.10 |