C++ 클래스 대한 메모.

프로그래밍/C++ 2006/04/24 17:42
C++ 클래스는 하나의 타입 으로 생각할 수 있습니다.
하나의 클래스는 그 클래스로 만들어낸 객체의 동작원리를 설정하는 무형의
무엇을 의미합니다.
(개념을 일반화 하는 방법의 프로그래밍)

클래스는 객체를 어떻게 생성할 것인지,
  생성된 객체를 어떻게 조작할 것인지,
  이 객체를 어떻게 소멸할 것인지 정하는 것입니다.

템플릿

클래스 템플릿은 동일 계열의 클래스군을 규정하는 것입니다.
------------------------------------------------------------------------

C++ 는 데이터 추상화, 객체 지향 프로그래밍 , 일반화 프로그래밍을 지원하도록
설계되었다
  - C++ Prgramming Language 中 -  Bjarne Stroustrup

객체 지향 프로그래밍의 이론적 틀은 다음과 같다.

문제 해결에 필요한 클래스가 무엇인지 정한다.
다음 각 클래스에 대해 모든 함수 집합을 만들어 준다.
그리고 클래스 사이의 공통적인 부분을 상속관계를 써서 드러낸다.

어떤 알고리즘의 작성이 데이터표현부에 상관없이 이루어 질 수 있고 이 작업이
논리적인 왜곡 없이도 충분히 가능하다면, 최종적으론 이렇게 해야 바람직하다.
이런 생각을 현실화한 것이 바로 일반화 프로그래밍이다.  이론적 틀은 다음과 같다.

문제 해결에 필요한 알고리즘을 결정한다.
그리고 이들 알고리즘이 여러가지의 타입과 자료구조에 대해
동작할 수 있도록 알고리즘을 매개변수화한다.

탬플릿(Template)은 일반화 프로그래밍이라는 신개념의 프로그래밍을 직접
지원하는 C++의 무기이다.
C++ 템플릿 메커니즘은 클래스와함수에 들어가는 타입을 모두 매개변수로
지정할 수 있는 막강한 기능을 가지고 있다. 템플릿은 자신에게 주어진 매개변수
타입만으로 자신의 동작 대상을 결정하며, 인자로 넘겨지는 타입 사이의
어떤 관계도 요구하지 않는다.

- C++ Prgramming Language 中 -  Bjarne Stroustrup

From Xevious7
복습은 최고의 학습
top