Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[4618] Re:Re:c와 객체지향언어의 차이점..
김상면 [] 1884 읽음    2004-08-19 13:40
제가 이런말을 하면 좇도 모르는게 까분다라고 할겁니다.
그러므로 제말을 너무 신임하지 마시기 바랍니다.

제가 베이직을 처음 배웠을때는 철없는 마음에 동생한테 물어가면서 배웠습니다.
그러다가 파스칼을 배울때는 베이직에 비해 실행 속도가 빠르다는 점에 마음이 끌렸지만 포인터가 없다는 헛점때문에 금방 실망을 느꼈습니다.
그러다가 C를 배우면서 이쯤되면 프로그램할만하다 라고 생각했습니다.
하지만 소스코드가 많아지면서 소스 관리에 엄청난 어려움을 겪었습니다.

우연히 교수님의 소개로 접한 C++은 그야말로 소스 관리를 획기적으로 향상 시켰습니다.
그야말로 전체 로직과 업무 파악만 제대로 되었다면 디버깅과 소스관리에 별로 어려움이 없었습니다.
논리적으로 찾아만 가면 되니까요.

C++완전한 객체지향 언어가 아니라서 요즘은 보다 좋은 객체 지향 언어를 기다리지만 나타나지 않더군요

C++의 재사용의 의미는 아마 소스 코드의 재사용을 의미 할겁니다. 상속과 오버로딩등을 통한 소스코드 재용말입니다.
C의 재사용은 라이브러리 차원의 재사용일겁니다. 완전 무결한 코드를 라이브러에 추가해서 이라이브러를 다른 프로그램에 사용하는 차원일겁니다.
따라서 프로그램 논리화가 질적으로 다릅니다.

그럼
남병철.레조 님이 쓰신 글 :
: 음.. 객체지향적 관점의 기술을 논하는것 보다는.... 그냥 생각을 적어보겠습니다. ^^
:
: 실제 C로 라이브러리화 해서 사용하면 잘 쓸수 있습니다.
: 윈도우 프로그래밍을 Win32 API만으로 하는 사람들도 있습니다. 자신이 잘 구성해둔 라이브러리 덕택으로... ^^
: 또한 책에서도 그런 내용을 읽었던듯 합니다. 숙련되고 자신의 라이브러리 구축이 되면 일이 쉽다는 식으로...
: 하지만 갈수록 예전과 달리 팀작업이 일반화 되고 있습니다.
: 물론 예전에도 팀작업이 있었겠지만 지금과는 개발자들의 성향이 많이 다르다고 생각됩니다.
: (예전이라 함은 매니아적 성향을 충분히 가진 개발자들이 주가 되던 시대를 말합니다.)
:
: 지금도 개발자가 되려면 기본적으로 개발에 대한 어떤 매니아적 성향을 가지고 있는경우가 많긴 합니다만, 예전과는 다릅니다. 개발 시장도 많이 넓어졌고 배움의 과정도 많이 다양해 졌습니다.
: 이런 일반화된(서로의 경험이 보편적으로 같아 질때) 개발 환경에서는 자신만의 숙련된 라이브러리로 팀원 모두에게 혹은 프로젝트 전체에 사용하기가 힘들어 집니다. 한사람이 아무리 잘 만들어도 보편적으로 학습하는 라이브러리를 능가하는 지식습득 및 이해 효과를 얻기는 힘듭니다.
: 또한 개발자는 자신의 라이브러리를 쓰는데 묘한 ^^ 즐거움을 맛보지만, 다른 개발자는(전부는 아닐지라도) 거기에서 묘한 위화감을 느끼기도 합니다. ^^ (매니아가 보다더 밝은 쪽으로 순화해 나가야할 것이라 생각되기도 합니다. ^^)
: 결국 개발자들이 개발하는 환경에도 보다더 일반화가 적용되어야 커져만 가는 개발 수요를 효과적으로(보다더 근본적으로) 해결할 수 있는 여지가 생기게 됩니다.
:
: 요즘은 UML을 많이 사용합니다. 아직 패키지 개발 회사나 게임 회사에서 사용하기는 하지만 개발의 메인을 차지하고 있지는 않습니다.(하고 있는곳에서 일하고 있다면 T<T 부러운 ...;; )
: 하지만 SI를 중심으로 그 분위기가 엄청나게 확대되어가는것은 틀림없으며, 지금도 그런 경향이 있지만 앞으로는 그런 설계가 아주 중요할것입니다. 문서화적 측면을 보더라도...
:
: 결국 그런 설계는 대부분 객체지향적 설계가 될것이고 구현하는데는 절차지향적 언어보다는 객체지향적 언어가 훨씬 많은 개발자에게 일반적인 이해를 바탕으로 다가올 것입니다.
: 또한 설계의 구현에 자동화 코드까지 도입되고 있는 마당이기도 합니다. ^^
:
: 즉, 인클루드 보다는 훨씬 직관적 코딩이 일반화 되기 쉽다고 볼 수 있습니다.
: (실제 객제지향 언어라도 인클루드는 되지않습니까..?)
:
:
:
:
:
: 심성현 님이 쓰신 글 :
: : 전 지금 자바를 배우고 있습니다. 씨언어는 대학교에서 한학기 배웠습니다..
: : 자바는 지금 배우는 중이고 씨언어도 깊게는 배우지 않았습니다만..
: : 자바(또는c++)의 클래스를 이용한 코드의 재사용에 의구심이 들어서 이렇게 질문을 드립니다.
: : 지금 배우는 자바과정을 보면 클래스를 생성하고 재사용하는 등의 방법들에 중점이 맞춰져있다는게 느껴집니다.
: : 확실히 c언어의 궁극적인 목표가 함수라면 자바언어의 지향점은 클래스라는게 느껴집니다.
: : 클래스를 만들어놓으면 그안에 포함된 맴버변수와 맴버메서드(c++에서는 "맴버함수"라고 하는지 모르겠습니다)를 다른 프로그램에서 상속받아서 사용한다는것이 재사용의 의미를 가지고 있다고 배웠습니다.(제가 잘못 이해한거라면 지적해주세요-_-;)
: : 여기서 궁금한점이.. 그럼 c언어도 함수들을 라이브러리로 만들어서 인클루드 해서 사용하는것도 역시 재사용이 아닌가요? 차이점이라면 클래스에서는 함수 뿐만 아니라 변수까지 정의 해서 재사용한다는건데. 과연 그것만 가지고 재사용의 특징을 부여 할수 있는건지.. 궁금합니다..

+ -

관련 글 리스트
4604 c와 객체지향언어의 차이점.. 심성현 1730 2004/08/04
4605     Re:c와 객체지향언어의 차이점.. 남병철.레조 1839 2004/08/04
4618         Re:Re:c와 객체지향언어의 차이점.. 김상면 1884 2004/08/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.