예고생의 IT대학 도전기

예고생의 IT대학 도전기8 - C++ 프로그래밍 (객체지향은 C++ < JAVA 아냐?)

dodo4723 2024. 2. 17. 10:11
728x90
반응형

사용자가 특정 차트를 고르면, 전 종목의 과거(10년) 차트들을 모두 탐색하여 가장 유사한 차트 10개를 골라 사용자에게 보여줍니다.

 

비슷한 차트 검색기

 

비슷한 차트 검색기

전 종목의 최근 10년간 모든 차트를 탐색합니다. 내 종목의 차트는 과연 상승하는 차트일까요?

www.similarchart.com

 

예고생의 IT대학 도전기 개요

 

20살까지 중학교 수학도 모르던 예고생의 IT대학 도전기 Start! (과목별 정리)

사용자가 특정 차트를 고르면, 전 종목의 과거(10년) 차트들을 모두 탐색하여 가장 유사한 차트 10개를 골라 사용자에게 보여줍니다. 웹프로젝트 링크 비슷한 차트 검색기 전 종목의 최근 10년간

similarchart.com

 




 

고급프로그래밍 및 실습 (C++)

2학년 1학기 전공선택과목인 고급프로그래밍 및 실습입니다. (2020년 수강)

 


 

성적

A+ (4.5)

 


 

 

Python, C에 이어 C++

 

1-1 파이썬, 1-2 C언어에 이어 2-1 C++ 수업입니다. 해당 학기에 같이 듣고 있는 교양선택 C#까지 포함하면 벌써 4개의 언어를 공부하는 셈이네요!

 

저는 직전 학기인 1-2에 C언어 공부를 주로 윤성우의 열혈 C프로그래밍 책으로 깊게 공부했습니다. 덕분에 수업을 잘 따라갈 수 있었죠. 수업시간에 미처 배우지 못한 내용들도 책으로 익혔습니다. 책이 마음에 들어 이번에도 같은 저자의 책을 읽으며 똑같은 방식으로 공부해보려고 합니다.

 

 

표지도 색만 다르고 동일한 것 같습니다.

 




C++? +면 업그레이드 버전?

C와 C++은 다른점이 뭘까요? 저는 처음에 +가 붙어있어 C의 업그레이드 버전인 줄 알았습니다. 그런데 사실상 업그레이드 버전 맞다고 생각합니다. C언어의 기능들을 거의 사용할 수 있으면서 새로운 기능들이 추가되었습니다.

 

새로운 기능 중 제일 중요한 기능이 클래스입니다. 사실상 이 수업은 클래스와 객체지향 프로그래밍을 C++로 배우는 수업이라고 생각합니다.

 




C++ vs JAVA

저는 2학년 1학기를 마치고 입대했습니다. 입대 전에는 제 진로에 대해 별 생각이 없었습니다. 그냥 수업 열심히 듣고 유니티로 게임이나 만들며 입대를 기다렸습니다.

 

그런데 지금 생각하면 C++ 말고 자바로 클래스와 객체지향을 배웠으면 더 좋지 않았을까 싶네요. 아무래도 저는 백엔드 개발자를 목표로 하고 있고, 백엔드 개발자들이 많이 사용하는 스프링 프레임워크가 자바를 사용합니다.

 

C++은 게임엔진에 쓰인다고 들었는데, 이외에는 보통 어디에 많이 쓰이는지 잘 모르겠습니다. 물론 C++을 공부한 것은 후회하지 않습니다. C++을 몰랐으면 코딩테스트와 알고리즘 대회에서 천만원 이상을 얻지 못했을 테니까요.

 

하지만 C++로 알고리즘 문제들을 풀며 클래스는 한 번도 사용해 본 적이 없습니다. 하지만 이 수업에서는 C++의 클래스를 배운 것만이 아닌 객체지향 프로그래밍 그 자체를 배웠다고 생각하기에 남는 것도 꽤 있었습니다. 어차피 자바나 C++이나 파이썬이나 문법이 살짝 다를 뿐이지 클래스 개념은 비슷합니다.

 


 

도형 그림판 만들기

이 수업에서 인상깊었던 과제가 있습니다. 클래스를 설계하여 동그라미, 삼각형, 사각형 등의 도형 그림판을 구현하는 과제입니다. 구현해야 하는 기능이 몇 가지 있었는데, 도형 생성, 삭제, 그룹화, 그룹화 헤제, 여러 도형 선택, 앞/뒤로 보내기 등의 기능들을 구현해야 했습니다.

 

C++로 마우스 이벤트를 받아 여러 로직들을 구현했는데, 생각보다 쉽지 않았습니다. 이 과제를 하며 클래스의 상속, 오버라이딩, 클래스 기반 자료구조 등을 사용하였습니다. 그렇게 한 3일 정도 열심히 해서 제출했습니다. 중간/기말고사도 나름 만족스럽게 봤습니다.

 

종강 후, 과제/시험을 포함한 종합적인 채점 결과가 나왔는데, 약 50명 중 제가 2등이었습니다. 예체능 출신으로 IT대학에 들어와 이리 치이고 저리 치이던 제가 비록 한 수업 안에서지만 2등을 해보다니 기뻤습니다.

 




결론

C언어를 공부했다면 C++은 필수까지는 아니라고 생각합니다. 하지만 C++을 몰랐다면 제 인생이 꽤 힘들었을 것입니다.

 

한줄평 : C++을 너무 싫어하지 말자

반응형