Monday, May 06, 2002

여긴 죽은건가? 더이상 글이 안올라 오는군...
제일 먼저 파토내서 미안하다.

여름방학때 보자.
그땐 제발 그만하자고 할때까지 달려주마. ^^

Sunday, April 07, 2002

1. 비구조적 프로그래밍.
- 구조적 프로그래밍이 가지는 문제점
프로그램이 커지면 제어하기가 힘이들고 재사용성이 없으므로 같은 코드를 여러번 반복해야 한다.

- 대안책...
절차(Pricedure)에 입각한 프로그래밍은 정확한 결과를 가져다 준다..

2. 프로시져에 기반한 프로그래밍..
- 프로시져에 기반한 프로그래밍의 장점
각각 정확하게 작성된 프로시저로 구성된 프로그램에서 에러가 난다면 에러가 난 곳을 유추할 수 있는 폭이 좁아진다..

- 프로시져 프로그래밍의 특징
프로시져는 각 각 독립적이어야 한다. 즉 프로시져간의 연관성이 없다.(상속성이라는 개념이 없다.)
이를 극복하기 위해 프로시져를 하나의 그룹으로 다루는 Modular 프로그래밍이 제안되었다.

3. 모듈러 프로그래밍
- 모듈러 프로그래밍은 일반적인 기능을 하는 프로시져를 다른 모듈로서 묶는다..
각각의 모듈은 데이타를 가질 수 있다. 이 말은 모듈내의 프로시져가 호출됨으로서 생기는 변경사항에 대해 모듈이 이를 관리 할 수 있다는 말이다.
그러나 모듈은 오직 한개의 상태만 가질 수 있다. 이로 인해 기껏해야 프로그램내에서 한 번 밖에 안 쓰인다..(이는 동시에 여러 모듈이 동시에 호출되거나 처리 될 수 없음을 말함..)

4. 모듈러 프로그래밍의 문제점
- 명확한 생성자와 파괴자
모듈러 프로그래밍에서는 생성자와 파괴자에 의해서 그것들이 가지는 데이터의 생명주기가 결정된다.
이로인해 불필요한 자원을 반환한다.

- 데이타와 연산자의 분리
모듈에서의 데이터와 연산자의 분리는 연산자에 근거하고, 우리는 연산될 정확한 데이터를 제공함으로서 이 연산자들을 사용할 수 있다.
객체지향에서는 구조체는 데이타를 기반으로 구성된다. 그리고 우리가 필요로 하는 가장 적합한 데이터를 선택함으로서 그 데이터가 가지는 연산자를 사용한다.
(모듈은 연산자를 기반으로 작성되고 이에 데이터(변수등)는 부수적으로 따르는 것이지만 객체지향에서는 데이터(객체)를 기반으로 작성되고 이 데이터를 조작할 연산자(메소드)가 부차적인 것이다.)

- 데이타 무결성 부재..
컴파일러는 데이타 무결성에 대해 책임을 지지 않는다. 이는 전적으로 당신에게 달려 있다.
이를 해결하기 위해 각각의 요소에 대한 추가정보를 줄 수 있다. 이는 많은 오버헤드를 가져오고 당신이 하고 있는 것에 대해 헷깔리게 할 수 있다.
# 그디음은 무슨 말인지 모르게따. -_-;;

- 구상과 표현
무슨 말인지 모르게따. --;;

- 객체지향 프로그래밍
객체지향에서 다중 리스트를 구현한다면 모듈러 프로그래밍과는 달리 필요한 만큼의 객체를 만들고 그 객체에 명령을 내리면 된다..
또한 이런한 객체는 생성되면 스스로 초기화하고 파괴되기때문에 일일이 생성자와 파괴자를 호출할 필요가 없다.

Saturday, April 06, 2002

첫번재 날..
C++ Programming Language 3rd ~ch1.pdf까지..
그리고 OOP in C++ 2.7까지..
모두들 분발하시길.. ^^

Friday, April 05, 2002

잘되는데... ㅡㅡ;; 머가 깨져..? ㅡㅡ;; 근데.. 시간이 다른거 가타.. ㅡㅡ;;;;
머지.. ㅡㅡ;;;
얌.. 다들 들어와!!
이제 제대로 돼는겨?