C++ 을 OOP 적으로 다루고 있는 책. 혹은 OOP를 설명하기 위해 C

hwayak의 이미지

OOP를 하기 위해 C++을 공부하고 있습니다.

시중에서 몇개의 책을 봤는데, 음... 뭐랄까요 OOP를 중점적으로 다루지 않고 C 와 같은 스타일로 대부분 써놓았더라구요. 그리고 C++과 C의 차이점 등등 대해서 운운하구요.

저는 OOP를 중점적으로 다루고 있는 C++ 책을 찾고 있습니다.

기왕이면 번역서나 한글책이면 좋겠구요. 영어로 된것이라면 원서도 괜찮습니다.

너무 기초적인 책 보다는 중급이상의 책이면 좋겠구요. 자잘한거라도 설명해놓은 책이 더 좋더군요.

tasy의 이미지

물론 많이 들어보셨겠지만, OOP를 공부하기 위해서 특별하게 C++를 선택하지 않아도 좋을 듯 싶은데요. OOP개념을 잡기 위해서라면 개념을 쉽게 표현할 수 있는 파이썬같은 언어가 더 좋지 않을까 생각합니다.

이런 질문에 이런 답변이 원하시던 답변이 아닌줄은 알지만, 여하튼 제 생각은 그렇습니다.

꼭 OOP를 위해서 C++를 배우려고 하시는게 아니라면, Depth In C++시리즈를 추천합니다. 그 책을 보시면 OOP개념을 익히실 순 있겠지만, C++을 공부하고자 할 때 더 유용합니다.

---------
Byeongweon Moon
http://tasy.jaram.org/blog
사랑하면 알게 되고 알면 보이나니 그때에 보이는 것은 전과 같지 않으리라.

익명 사용자의 이미지

원하시는걸 보니 기본 문법은 다 보신거 같구요. 사실 oop자체가 그렇게 중요하지는 않습니다. 그거에 그렇게 특화된 책도 있는것 같지는 않구요.

앞으로 뭘 해야 할지 방향을 정해야 한다면,

Effective C++ (번역서있음)
More Effective C++ (번역서있음)
C++ Standard library(번역서있음) or STL library Reference(번역서있음)
C++ Coding Standard(번역서 4월 출간 예정)
Modern C++ Design (번역서있음)
Design Pattern(번역서 있지만...)

저 정도 보시면 될듯 합니다. 다 보실고 실전에 써보실때쯤 되면 어디가서 홀대 받지는 않으실겁니다.

icanfly의 이미지

Accelerated C++ 을 추천합니다.

처음 C++ 을 접하는 분들에게도 정말 좋은 책입니다.

자연스럽게 C++만을 익힐수 있게 구성이 되있더군요.

당연히 C와의 차이등에 대해선 별로 언급하지 않습니다.

irondog의 이미지

제 생각에 객체지향의 핵심은 추상화(Abstraction), 상속성(Inheritance), 다형성(Polymorphism)이라고 봅니다.
대부분의 C++책은 문법 설명하다가 끝나는 경우가 대부분인데요.
제 경험상 이런거 백날 봐야 도움 안됩니다.

위에서 열거한 3가지 특징에 대해 자세히 다루는 책을 찾으시는게 좋을듯 싶습니다.

bbohihi의 이미지

oop를 공부하시려면 문법이나 흘러가는 형태보다는 패턴공부를 하시는게 좋을 듯하네요..

good job

kihongss의 이미지

icanfly wrote:
Accelerated C++ 을 추천합니다.

처음 C++ 을 접하는 분들에게도 정말 좋은 책입니다.

자연스럽게 C++만을 익힐수 있게 구성이 되있더군요.

당연히 C와의 차이등에 대해선 별로 언급하지 않습니다.

레퍼런스 & 문법나열의 두꺼운 C++ 책보다는 차리리 C++과 OOP를

처음시작할때는 저도 Accelerated C++ 를 추천합니다.

웹으로 공짜(!)로 볼수 있는 Thinking in C++ vol 1,2 도 추천합니다.

http://mindview.net/Books/TICPP/ThinkingInCPP2e.html

kihongss의 이미지

bbohihi wrote:
oop를 공부하시려면 문법이나 흘러가는 형태보다는 패턴공부를 하시는게 좋을 듯하네요..

제 생각에는 OOP를 어느정도 감을 잡고 난후에 패턴을 시작해야 된다고 봅니다. 아무래도 베이스를 깔고 패턴 같은 테크닉들을 하나하나 익혀가는게 빠르지 않을련지.... :D

dragonkun의 이미지

그런 책은 잘 모르겠지만..
그냥 편하게 OOP를 주제로 하고 있는..
전병성님의 '객체 지향 이야기' 를 추천합니다...

제가 약 두달 동안 컴퓨터를 쓰지 못했을 당시..
취미 삼아서 읽었던 책들중 하나입니다.

Emerging the World!

죠커의 이미지

사실은 처음 부터 패턴을 배워야 합니다만 마땅한 책이 없죠.

그리고 C++은 OOP만으로 이루어진게 아니기 때문에 OOP만 공부하는 것은 옳지 않은 것 같습니다.

Modern C++ Desgin 이 괜찮은 서적 같습니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.