객체 지향적 프로그래밍에 대한 개념을 제대로 세워주는 c++ 입문서 추천부탁드립니다.
글쓴이: noblepylon / 작성시간: 토, 2008/06/07 - 4:12오후
처음에 저는 C로 프로그래밍을 접했습니다.
그래서 자연스럽게 순차적으로 코드를 짜게 되더라고요.
그런데 순차적 코드는 나중에 다시 써먹기가 되게 힘듭니다.
알아보기도 꽤 괴롭구요.
(저는 main함수에 무작정 쑤셔넣는 타입이라서요-_-;)
그래서 이번 여름방학때 C++언어를 공부하려고 합니다.
듣기로는 '객체지향'이란 것이 프로그램을 블록화 시켜서 시간이 지나도 쉽게 재사용이 가능하다고 하더군요.
그리고 wxWidgets도 C++로 되어있고요.
객체지향 프로그래밍에 대한 개념을 제대로 세워주는 그런 C++ 입문서가 있다면 추천바랍니다.
ps. 국내도서이던 원서이건 괜찮습니다. 다만 지나치게 두꺼운 책은 피하고 싶군요. (상당히 비싸니까...)
Forums:
쑤셔넣지 마세요^^
일단 입문하신다니 저는 이해하기 쉬운 씨뿔뿔을 추천합니다.
그담엔 유명한 책들 많으니까요..천천히 읽어나가심 될꺼 같구요.
근데 메인에 다 쑤셔버리시면 씨뿔뿔에서두 클래스에다 다 쑤셔 넣는거 아닌지 걱정입니다만..
참고로 JSP라는 커널(토요타자동차)은 일부분이 씨뿔뿔로두 작성이 되어 있습니다.
열공하세요.
--------------------------------------
나만 이래?
순차적 프로그래밍이
순차적 프로그래밍이 오히려 알아보기 쉽습니다만... =ㅅ=;;;;
개인의 코딩습관이 문제라고 지적하고 싶네요....
저는 일단 'C프로그래머를 위한 C++'을 추천하고 싶네요.
여름방학동안 어떻게든 고쳐야 겠습니다.
main함수에 쑤셔놓으니까 나중에는 완전 누더기가 되어버려서 알아볼수가 없더군요.
여름방학때 최대한 고쳐보겠습니다.
---
"The truth will make you free."(John 8:32)
"I am the way, and the truth, and the life: no one comes to the Father but through Me."(John 14:6)
---
“내게 능력주시는 자 안에서 내가 모든 것을 할 수 있느니라.”(빌립보서 4:13)
제 경험상
c++책에서 제대로 된 OO를 찾는 다는 건 불가능 할 것 같습니다.
차라리 Smalltalk, IO, Ruby를 공부하시는게 더 좋을 것 같네요.
------------------------------
How many legs does a dog have?
------------------------------
How many legs does a dog have?
저도 여기에 한표,
저도 여기에 한표, c++나 java는 그냥 OO의 특징을 받아들인 것일 뿐 OO를 제대로 지원한다고 보기는 어렵습니다.(Alan Kay의 글을 참고하세요) 제대로 된 - 저는 smalltalk을 추천합니다만 - OO언어를 통해서, 이전의 지식은 다 버리고, OO를 제대로 배우시고 다른 언어를 배우시는 것이 훨씬 도움이 될 것입니다.
자바 자바 자바~
자바는 OO의 OO 에 의한 OO 를 위해 만들어진 언어입니다.
---------------------------------------------------------------------------------------------------------------
루비 온 레일즈로 만들고 있는 홈페이지 입니다.
http://jihwankim.co.nr
여러 프로그램 소스들이 있습니다.
필요하신분은 받아가세요.
퀴즈인가요? 자바는
퀴즈인가요?
자바는 Sun의 Gosling에 의한 값싼 대량 개발을 위해 만들어진 언어입니다. ^^;
-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂
-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂
값싸지는 않은 것 같은데... ^_^
성능이 어느 정도 나온다는 것은 인정... -_-.
검색해보세요.
이곳만 해도 수없이 나왔던 글입니다.
C++ 새표준이 발표되기 전까지는 새로운 입문서가 나오지는 않을 것 같습니다.
설령 새표준이 발표되어도 실질적으로 compiler들이 지원하는 상황이 나오기 전에는
의미가 떨어지기에 아마도 3년은 걸릴것 같네요.
C언어를 잘
C언어를 잘 하신다면,
The C++ Programming Language 를 먼저 보신후,
GOF 의 Design Pattern 과 Effective C++ 를 같이 보시기를 바랍니다.
그 이후 STL ref 와 More Effective C++ 를 보시고
그 다음 Modern C++ Design 을 보시기 바랍니다.
위를 다 보셨다면 C++ 로 어느정도 OOP 적인 프로그래밍이 가능하시게 되리라 믿습니다.
좀 더 실력을 늘리고 싶으면 그 이후에 Exceptional C++ , More Exceptional C++ 스리즈를 보시면 좋습니다.
Neogeo - Future is Now.
Neogeo - Future is Now.
OOP로 보기는 어렵지 않나요?
뭐, 최강의 시리즈이긴 합니다만...
위의 책에 언급된
위의 책에 언급된 몇가지 테크닉을 이해하지 못하면 C++ 로 oop 를 어느정도나마 흉내낸다는게 거의 불가능하기 때문입니다.
C++ 의 learning curve 는 다른 그 어떤 언어보다도 상당히 짜증나는 구조로 되어있으니까요.
C++ 로 oop 를 하신다는 생각이 불가능은 아니지만, 어려운 언어의 숨어있는 부분을 공부해야만 한다고 생각합니다.
Neogeo - Future is Now.
Neogeo - Future is Now.
OOP 프로그래밍
OOP 프로그래밍 언어를 보기보단 님의 프로그래밍 습관을 우선 고치셔야 할것 같습니다.
OOP에서도 모듈화는 기본입니다.
Code Complete 이라는 책이 정보문화사에서 나온게 있습니다.
봄들판에서다
봄들판에서다
코딩 가이드라인 같은 건 어디서 구할 수 있나요?
main함수에 쑤셔넣는 습관은 고쳐야 한다고는 생각하고 있습니다만
막상 짜다보면 어떻게 정리해야 할지 약간 막막하군요.
가이드라인 같은 게 있나요?
---
"The truth will make you free."(John 8:32)
"I am the way, and the truth, and the life: no one comes to the Father but through Me."(John 14:6)
---
“내게 능력주시는 자 안에서 내가 모든 것을 할 수 있느니라.”(빌립보서 4:13)
일단 저는 이렇게 합니다.
일단 아무리 간단한 거라도 다른 곳에서 단 한번이라도
반복해서 일정한 작업을 해야 하는것이라면
함수화 합니다.
예를들어 메모리를 malloc할때는 메모리 포인터와 필요한 양을 전달받아
malloc해주는 함수와 사용이 끝나면 free해주는 함수를 만들어 부르는 식으로
씁니다. 마찬가지로 파일을 열때도 파일이름의 포인터를 넘겨주는 식으로
해서 파일을 열고 닫습니다.
그러면 main에서는 이런식의 코딩이 가능해 지죠.
위에서 이제 어쩌구 저쩌구 작업하는 부분에서는 또 다시 이런저런 함수들로
분기가 가능하고 그렇게 그렇게 쪼개나가는 식으로 저는 짭니다.
물론 이건 제가 하는 방식이고 다른 고수분들은 더 좋은 방법들을
많이 알고 계실테니 계속 공부하는 수 밖에 없을꺼 같네요.
저도 공부중입니다. ㅋㅋ
고민이 많아 고민인 애늙은이 입니다.
마틴 파울러의
마틴 파울러의 '리팩토링' 이란 책을 보시는 건 어떨까요?
이미 만들어 놓은 프로그램으로 구조만 바꿔서 더 좋은 구조의 프로그램으로 바꾸는 연습을 해 보시는 것도 좋습니다.
--
Emerging the World!
Emerging the World!
TDD를 공부해보세요.
어쩔수 없이 함수화한다는 느낌까지 들더군요.
그리고 최고로 적절하게 완성된 함수화를 볼 수 있습니다.
너무 두꺼워요.
거의 흉기...
다음 순서로
다음 순서로 읽어보세요.
저는 패턴책 추전 ~
창의성이 아무리 좋다고 해도 예전 분들이 연구해 놓으신 것은 따라가기가 어렵더라고요
그래서 패턴책 추천~
패턴이 디자인패턴도 있지만 UML 같은 설계상에 대한 패턴도 있는데
그런 것들을 통해서 전체적이 부분을 미리 구현할 수 있다면 OOP 는 따라오는 것 같아요
좋은 하루 및 좋은 세상이 되기를 바랍니다
그럼...
꾸벅
-----------------------------------------------------
자신의 열정! 용기! 근성! 만이 자신을 표현할 수 있다
* 좋은 하루 및 좋은 세상이 되기를 바랍니다 *
댓글 달기