C++ 초보자입니다.

조회수 572회

안녕하세요, 아직까지 학부 과정으로만 C++을 배운 저학년 학생입니다. 다형성 정도까지 배웠고 알고리즘 문제 풀이를 하고 싶어 요즘 다시 복습 중에 있습니다. 그런데 C++언어가 찾아보니 제가 배우지 못한 부분이나 세세한 테크닉 같은것들이 엄청 많이 남아있더라구요. 어디까지 공부하고 알고리즘을 시작하면 좋을지 너무 막막하여 질문을 올려봅니다. 제가 배운 부분에서 STL만 더 공부하고 바로 알고리즘에 들어가도 괜찮은가요? 아니라면 무엇을 더 공부해야 좋을지 추천해주실수 있으실까요? 하루에 몇문제씩 푸는 것으로 다른 공부랑 병행하고 싶습니다.

1 답변

  • C++ 언어는 다른 언어와는 달리 다양한 패러다임이 녹아있는 Multi-paradigm 언어라고 봐야 합니다.

    Procedure-oriented programming(절차지향 프로그래밍) C언어 문법을 계승하였고, 여기에 class 등의 개념을 더해 Object-oriented programming(객체지향 프로그래밍)도 지원합니다. 또한 Template 문법을 통해 Generic programming(일반화 프로그래밍)도 담고 있죠.

    여기에 추가적으로 C++11 부터 지원되는 smart pointer, lambda, range-based loop, 타입추론(auto) 등의 기능으로 대표되는 Mordern C++은 Template을 제대로 이해하지 못했다면 학습이 어렵습니다.

    C++는 평생 언어라는 별명이 있을만큼 방대한 scope를 자랑하고, 그 깊이도 가늠하기 힘듭니다. 그렇기 때문에 처음에 어디서부터 공부해야 될지 몰라 막막한 심정이 드실 수 있습니다.

    'C++은 이렇게 공부해야 된다' 라는 공식은 없지만 C++를 주로 다루는 개발자로서 조언을 드리자면 아래와 같이 c++을 여러개의 영역으로 나누고 학습하시는 것을 권장드립니다.

    • C언어 문법 (Function, Pointer, Struct, etc)
    • OOP 핵심 개념 (Encapsulation, Abstract, Polymorphism)
    • OOP 5대 원칙 이해
    • C++에서의 OOP 문법 (class, object, virtual method, inheritance, override, access modifier, etc)
    • Template 개념 이해
    • STL (algorithm, functor, container, iterator)
    • Mordern C++

    다형성까지 C++을 공부하셨다고 하셨는데 객체지향 프로그래밍을 C++로 학습하신 것으로 보입니다. 문법보다는 객체지향 프로그래밍의 개념을 먼저 이해하시는 것을 권장드립니다.

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)