C++의 위력

글쓴이: 익명 사용자 / 작성시간: 월, 2001/06/18 - 11:37오전
한때 C++를 무지 싫어했는데..
생각이 바뀐다.
C로 된 거대한 소스화일을 보면,
왜 C++를 써야 하는지 이해가 된다.
C++의 가장 조그마한 장점, 즉,
클래스를 만드는 것만 이용해도,
C코드는 획기적으로 효율적이 될수 있다.
상속이니 템플릿이니 하는 기타 여러가지
장점들은 들먹일 필요도 없다.
예를 들어 a.c와 b.c 에 각각 자료구조가 있다면,
C에서는 각각 함수를 만들어야 할것이다.
struct AA;
a_get();
a_put();
a_insert();
struct BB;
b_get();
b_put();
등등..
이런것이 한두개면 무리가 없겠지만, 만약 수십,수백,수천개의
소스화일로 이루어진 대형프로젝트라면..
이름붙이는것부터 장난이 아니다.
a_put(); b_put(); c_put(); 등등이 난립할것이다.
구조체 이름또한 마찬가지다.
구조체를 외부변수로 정의했기때문에,
우리는 수많은 구조체및 자료구조등의
이름을 기억하고 일일히 염두에 둬야한다.
그러나 클래스 안에 있다면 상황은 달라질것이다.
C++에서는 단지 클래스를 만든것만으로도,
이 많은 단점들을 획기적으로 개선시킬수 있다.
생각해보면 놀랍지 않은가!
정말 놀랍다!!!
---이제서야 깨달은 초보씀.----
Forums:
Re: C++의 위력
그것보다 더 중요한 점은...
결합도를 낮추고, 응집도를 높이는 모듈화를 할 수 있다는 점입니다.
객체지향의 세가지 특징(캡슐,상속,다형)은 이 모듈화에 핵심이 있습니다.
모듈화를 한다는 뜻은 재사용,유지/보수와 관련이 있고요.
즉 객체지향의 진정한 의미는 하드웨어 모듈(칩)처럼 소프트웨어 모듈도 완벽하게
(결합도와 응집도) 만들어 조립식의 프로그램을 가능하게 하자는 것이죠.
궁국적으로는 CBD로 통합니다.
곰곰히 생각해 볼 수록 엄청난 의미가 있는 것이죠...
정호종 wrote..
한때 C++를 무지 싫어했는데..
생각이 바뀐다.
C로 된 거대한 소스화일을 보면,
왜 C++를 써야 하는지 이해가 된다.
C++의 가장 조그마한 장점, 즉,
클래스를 만드는 것만 이용해도,
C코드는 획기적으로 효율적이 될수 있다.
상속이니 템플릿이니 하는 기타 여러가지
장점들은 들먹일 필요도 없다.
예를 들어 a.c와 b.c 에 각각 자료구조가 있다면,
C에서는 각각 함수를 만들어야 할것이다.
struct AA;
a_get();
a_put();
a_insert();
struct BB;
b_get();
b_put();
등등..
이런것이 한두개면 무리가 없겠지만, 만약 수십,수백,수천개의
소스화일로 이루어진 대형프로젝트라면..
이름붙이는것부터 장난이 아니다.
a_put(); b_put(); c_put(); 등등이 난립할것이다.
구조체 이름또한 마찬가지다.
구조체를 외부변수로 정의했기때문에,
우리는 수많은 구조체및 자료구조등의
이름을 기억하고 일일히 염두에 둬야한다.
그러나 클래스 안에 있다면 상황은 달라질것이다.
C++에서는 단지 클래스를 만든것만으로도,
이 많은 단점들을 획기적으로 개선시킬수 있다.
생각해보면 놀랍지 않은가!
정말 놀랍다!!!
---이제서야 깨달은 초보씀.----
Re^2: ^^ 클래스는 힘뎌 ㅡ.ㅡ
옳으신 말씀인데...
클래스 디자인은 힘뎌요.,... 쥘...
열심히 해야지.
Re: C++의 위력
그 이유로 C++ 의 위력을 논하는 것은 무리가 있다고 봅니다. 이름 장식을
하기 때문에 C++ 은 다른 언어와 연동하는 게 쉽지 않아졌습니다. 윈도우즈
에서는 g++ 과 vc++ 을 같이 쓰는 게 쉽지 않습니다. 이름 장식 규칙이
서로 다르기 때문이죠. 자바도 native 메소드를 C 와 연동하도록 되어있죠.
virtual 함수의 집합체인 COM 객체나 그와 유사한 형태를 제안해서 사용하면
극복할 수 있을런지 모르지만, 포트란 (77)같이 구조체가 없는 언어는
그것도 할 수가 없습니다.
많은 사람들이 말하는 C++ 의 위력은 C++ 언어 자체의 위력보다는 대부분
객체 지향 기법의 위력을 말한다고 생각합니다. 그 다음, 그 위력을
자기가 능숙한 언어에 알맞게 구현 가능하면 되겠죠. 그래서 C 나 C++ 이나
그 위력을 향유하는 데 별반 차이가 없다고 생각합니다.
Re: C++의 위력
C++을 위력을 알기에는 멀고도 먼길....
크~
알고 싶으시면 java를 공부해 보시는 것도 좋을 듯