* 프로그램 방법론
1. 절차적 방법론
① 객체 지향 개념과 상반되는 개념
② 어떤 문제를 해결하기 위한 과정을 순차적으로 설계하는 것
ex) 파스칼, 포트란 ,C
2. 객체지향 방법론
① 일을 하는 주체가 그 일을 다른 사람에게 떠 넘기는 것
* 객체 클래스와 상속
1. 객체 클래스(object class)
> 유사한 특징을 지닌 객체를 묶어서 그룹지은 것
2. 클래스 인스턴스(class instance)
> 클래스에 속하는 실례
3. 메소드(Method)
> 객체가 메세지(명령)를 해결하는 방법
=>객체마다 각각의 method가 다르기 때문에 다양성을 가진다.
4. 계층구조
> 클래스간의 계층. 즉, 하위 계층이 상위 계층에 속해 있다.(>상속되어있다)
> 하위 계층 클래스는 상위 계층에 상속되어, 상위 계층의 속성을 가진다.
(>상위 계층의 멤버함수와 멤버데이터를 이어받는것.)
※동적연결
하위 계층에 없는 선언을 찾아서 상위 계층으로 올라가는 것
if ) 하위계층에서 선언을 찾게되면, 상위 계층으로 올라가지 않는다.
*하위 클래스에서 상위클래스와 동일한 함수 정의
(= 상속 관계 임에도 똑같은 이름의 함수 정의)
① 하위 클래스의 함수가 상위 클래스의 함수를 덮어씌움.
②하위 클래스가 그 함수를 자체 특성에 맞게 특화 시킬때 사용.
*객체 지향 설계 과정
① 문제를 풀기 위한 객체 설정
② 객체간의 유사한 속성 파악(클래스 분별)
③ 유사한 속성을 지닌 객체를 모아서 기본 클래스로 선언
④ 기본 클래스로부터 특수한 속성을 지닌 하위 클래스를 정의
*멤버함수
① C++에서 메세지 역활을 하는 것.
② 이 함수를 보고 사용자가 무엇을 해야하는지 이해를 높이기 위해서는 자세한 주석이 필요하다.
* 생선자함수와 소멸자 함수
1. 생성자 함수
① 클래스 명과 동일한 함수명을 사용하되 리턴 타입을 선언하지 않는 함수
② 객체를 만드는 함수(메모리 할당)
2. 소멸자 함수
① 클래스명과 동일한 함수명을 사용하되, 클래스명 앞에 물결(~)표시를 하고, 리턴타입을 선언하지 않는 함수
② 객체를 버리는 함수(메모리 반환)
>ex) card라는 클래스에서...
card() // 생성자 함수
~card() // 소멸자 함수
*Public 과 Private
1. Public(공유)
① 내부에 선언된 메세지를 외부 사용자가 공유할 수 있다.
② 외부 사용자가 사용가능한 클래스 변수이다.
2. Private(사적인)
① 외부 사용자가 공유할 수 없다.
② 자체 클래스 멤버의 함수 만이 이 변수를 사용가능하다.
※Proctected
> 하위 클래스 객체만이 접근이 가능하다.
*c++ 소스파일 구성
1. 인터 페이스 파일(.h)
① 클래스 선언
② 객체를 사용할 사용자와의 인터페이스를 위한 파일
ex) #define
#include(다른 인터페이스 포함)
typedef
2. 구현파일(.cpp .cc)
① 클래스 구현
ex) #include(자체 헤더 파일을 포함)
데이터
*연산자 오버로딩
① 정의된 연산자를 다른 용도로 사용하기 위해 연산자에 두 개 이상의 의미를 부여 하는 것
② 함수를 추가 해 줘야 한다.
1. 절차적 방법론
① 객체 지향 개념과 상반되는 개념
② 어떤 문제를 해결하기 위한 과정을 순차적으로 설계하는 것
ex) 파스칼, 포트란 ,C
2. 객체지향 방법론
① 일을 하는 주체가 그 일을 다른 사람에게 떠 넘기는 것
* 객체 클래스와 상속
1. 객체 클래스(object class)
> 유사한 특징을 지닌 객체를 묶어서 그룹지은 것
2. 클래스 인스턴스(class instance)
> 클래스에 속하는 실례
3. 메소드(Method)
> 객체가 메세지(명령)를 해결하는 방법
=>객체마다 각각의 method가 다르기 때문에 다양성을 가진다.
4. 계층구조
> 클래스간의 계층. 즉, 하위 계층이 상위 계층에 속해 있다.(>상속되어있다)
> 하위 계층 클래스는 상위 계층에 상속되어, 상위 계층의 속성을 가진다.
(>상위 계층의 멤버함수와 멤버데이터를 이어받는것.)
※동적연결
하위 계층에 없는 선언을 찾아서 상위 계층으로 올라가는 것
if ) 하위계층에서 선언을 찾게되면, 상위 계층으로 올라가지 않는다.
*하위 클래스에서 상위클래스와 동일한 함수 정의
(= 상속 관계 임에도 똑같은 이름의 함수 정의)
① 하위 클래스의 함수가 상위 클래스의 함수를 덮어씌움.
②하위 클래스가 그 함수를 자체 특성에 맞게 특화 시킬때 사용.
*객체 지향 설계 과정
① 문제를 풀기 위한 객체 설정
② 객체간의 유사한 속성 파악(클래스 분별)
③ 유사한 속성을 지닌 객체를 모아서 기본 클래스로 선언
④ 기본 클래스로부터 특수한 속성을 지닌 하위 클래스를 정의
*멤버함수
① C++에서 메세지 역활을 하는 것.
② 이 함수를 보고 사용자가 무엇을 해야하는지 이해를 높이기 위해서는 자세한 주석이 필요하다.
* 생선자함수와 소멸자 함수
1. 생성자 함수
① 클래스 명과 동일한 함수명을 사용하되 리턴 타입을 선언하지 않는 함수
② 객체를 만드는 함수(메모리 할당)
2. 소멸자 함수
① 클래스명과 동일한 함수명을 사용하되, 클래스명 앞에 물결(~)표시를 하고, 리턴타입을 선언하지 않는 함수
② 객체를 버리는 함수(메모리 반환)
>ex) card라는 클래스에서...
card() // 생성자 함수
~card() // 소멸자 함수
*Public 과 Private
1. Public(공유)
① 내부에 선언된 메세지를 외부 사용자가 공유할 수 있다.
② 외부 사용자가 사용가능한 클래스 변수이다.
2. Private(사적인)
① 외부 사용자가 공유할 수 없다.
② 자체 클래스 멤버의 함수 만이 이 변수를 사용가능하다.
※Proctected
> 하위 클래스 객체만이 접근이 가능하다.
*c++ 소스파일 구성
1. 인터 페이스 파일(.h)
① 클래스 선언
② 객체를 사용할 사용자와의 인터페이스를 위한 파일
ex) #define
#include(다른 인터페이스 포함)
typedef
2. 구현파일(.cpp .cc)
① 클래스 구현
ex) #include(자체 헤더 파일을 포함)
데이터
*연산자 오버로딩
① 정의된 연산자를 다른 용도로 사용하기 위해 연산자에 두 개 이상의 의미를 부여 하는 것
② 함수를 추가 해 줘야 한다.