CHAPTER 8. 객체와 클래스
8.1 객체지향 프로그래밍 시작을 위해
프로그래밍 방법의 종류
방법 | 설명 |
순차적 프로그래밍 |
프로그램 코드를 주어진 작업 순서대로 나열 |
구조적 프로그래밍 |
프로그램 실행을 위해 필요한 기능을 확인하여 해당 기능들을 독립적으로 작성 후 함수를 호출해서 작업하는 방식 |
객체지향 프로그래밍 |
객체를 설정하여 그에 해당하는 정보와 실행하는 기능을 포함시키는 방법 - 추상적인 개념을 실체화 시키는 방법이다. ( 기본 프로그래밍 방법 ) |
Def . 클래스
- 클래스는 멤버변수(구조체)와 멤버함수(함수)로 구성 되어있다.
- 데이터와 함수를 저장할수 있는 캡슐형 자료형이라 생각할 수 있다.
지금까지 배운 자료형들 비교
일반 자료형 | 문자열 | 구조체 | 클래스 |
한가지 종류의 데이터를 한 개 저장할 수 있다. | 한가지 종류의 데이터를 여러 개 저장할 수 있다. | 여러가지 종류의 데이터들을 저장할 수 있다. | 여러가지 종류의 데이터들과 함수들을 저장할 수 있다. |
Ex ) int a |
Ex) char a[30] |
Ex) typedef struct { Int a[30] Char flag } example |
Ex) Class example { Public : Int a Void function() } |
- 객체 지향에서 문제 해결의 시작점은 작업 순서가 아닌 누가 문제를 무엇으로 어떻게 풀어 나가는 것인가이다.
( 누가 : 객체 / 무엇 : 멤버변수 / 어떻게 : 멤버함수 )
8.2 객체지향 프로그래밍
Def . 객체와 클래스
- 클래스는 자료형에 해당하는 것이고 객체는 변수에 해당하는 것이다. 단지 변수는 하나의 값을 기억하지만, 객체는 여러 값을 기억하고 동작하는 코드도 포함한다.
객체지향 프로그래밍의 작업 순서
문제 분석 -> 객체 식별 -> 해당 객체의 클래스 정의 -> 객체 생성(선언) |
클래스의 구성
멤버변수 : 상태를 저장 ( 데이터 값을 저장 ) 멤버함수 : 멤버 변수를 이용하여 자료 처리와 같은 동작을 수행함 |
클래스 생성 방법
헤더파일에 작성!! Class 클래스이름 { 클래스 멤버 }; // 여기서 중요한 것은 반드시 클래스 선언이 끝난 다음에는 세미콜론 입력! 이후에 객체 생성은 그냥 단순히 변수 선언과 똑같아 |
Def. 멤버 접근 속성
- 약간 보면 클래스 자체가 하나의 프로그램? 같아 보여 나는 혼자 변수 선언도 하고 함수도 가지면서 내부에서 기능도 수행 가능하고 약간 그렇게 생각해도 될 거 같아 마치 우리가 헤더파일을 작성하면 include 예약어를 통해서 내용을 불러오는 것처럼 클래스도 각각의 멤버들에 접근을 하려면 한가지의 조건이 필요해
- 클래스 멤버의 접근 속성에는 private, protected, public이 있다. 이 중 private가 클래스 멤버의 기본 속성이다. 해석 그대로
- Private는 main함수에서 접근이 불가능하다는 것이다.
- Protected는 클래스 상속에 대해 공부를 하고 설명을 할것이다.
- Public은 private와 반대로 main함수에서 접근이 가능하다는 것이다.
멤버 속성 정의 방법
Class 클래스이름 { Public : 속성을 public으로 할 멤버 변수 또는 함수 작성 Protected : 속성을 protected로 할 멤버 변수 또는 함수 작성 Private : 속성을 private로 할 멤버 변수 또는 함수 작성 }; |
'언어공부 > C++' 카테고리의 다른 글
[ C++ ] STL 정리하기 2. 효과적인 컨테이너 사용방법 (0) | 2022.07.28 |
---|---|
[ C++ ] STL 정리하기 1. 컨테이너의 종류와 선택팁 (0) | 2022.07.28 |
[ C++ ] 기초정리 6. 함수 (0) | 2022.07.19 |
[ C++ ] 기초정리 5. 논리적 자료 표현 - 구조체 (0) | 2022.07.19 |
[ C++ ] 기초정리 4. 고급 변수 사용 (0) | 2022.07.18 |