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로 할 멤버 변수 또는 함수 작성
};  

 

+ Recent posts