[C++] #1: C++ 개요

Programming/C++ · 2020. 8. 13. 09:20

이전에 업로드했던 C언의 경우엔 절차지향 설계가 용이했습니다.

 

큰 프로젝트를 여러 사람이 함께 개발하는 경우에 객체지향 설계는 필수입니다.

 

객체지향에 많이 사용되는 언어는 크게 자바와 C++이 있습니다.

 

다른 게시물에 업로드 할 예정인 C#은 이 둘의 장점을 조합한 프로그래밍 언어라고 합니다.

 

일단 C언어의 기초적인 문법을 그대로 사용하고 있는 C++에 대한 개념과 사용 방법 등에 대한 내용을 포스팅하겠습니다.

 

무조건 10개의 게시물 안에서 C++에 대한 기본 내용을 끝내는 것을 목표로 하고 있습니다.

 

거두절미하고 바로 본론으로 들어가겠습니다.

 


1. C++을 사용하는 이유 (객체지향 설계를 사용하는 이유)


 

C++을 사용하는 이유는 다형성, 추상화, 정보 은닉 등 많은 이유가 있겠지만,

 

단순히 생각하면 사용자의 편의를 중점적으로 고려할 수 있기 때문입니다.

 

핸드폰을 사용할 때 메시지를 입력하고 전송 버튼을 누르면 바로 제가 원하는 상대에게 메시지가 전송됩니다.

 

단순한 기능으로 보여도 그 속에는 고려해야 할 수많은 절차와 데이터가 있습니다.

 

하지만 사용자는 '메세지를 쓴다'와 '전송 버튼을 누른다' 2가지만 생각하면 됩니다.

 

이러한 개념을 프로그램을 구현하는데 적용해봅시다.

 

스마트폰과 스마트폰 사이의 연동을 설정하는 부분(A)이 있고, 메시지 전송을 담당하는 부분(B)이 있다고 가정하겠습니다.

 

이때 누군가의 요청에 의해 스마트폰과 컴퓨터 사이의 연동을 추가해야 할 일이 생겼습니다.

 

스마트폰과 컴퓨터 사이의 연동을 설정하는 부분을(C)라고 하겠습니다.

 

프로그램을 설계하는 사람은 어떤 누구가 와도,

 

1) A-B -> 스마트폰과 스마트폰 사이의 메시지 전송

2) C-B -> 스마트폰과 컴퓨터 사이의 메시지 전송

 

A, B, C 세 부분의 세부 내용을 고려할 필요 없이 가져다가 붙이고 조합만 잘 하면 됩니다.

 

이와 같은 이유로 하나의 프로젝트를 다수가 함께하는 경우에 많은 편의성이 있을 것이라 쉽게 예상됩니다.

 

즉, "기능을 간편하게 수정할 수 있으며, 기능을 추가하기 용이하고, 언제든 기능을 교체하는 것이 가능한 소프트웨어를 구현하는 것"이 목표이고 이유입니다.

 

참조: https://effectiveprogramming.tistory.com/entry/%EA%B0%9D%EC%B2%B4%EC%A7%80%ED%96%A5-%EC%A0%95%EB%B3%B4-%EC%9D%80%EB%8B%89information-hiding%EC%97%90-%EB%8C%80%ED%95%9C-%EC%98%AC%EB%B0%94%EB%A5%B8-%EC%9D%B4%ED%95%B4

 


2. C++ 기본 사항 개요


C 언어와 공통되는 기본적인 사항은 생략하겠습니다. (for 문, while 문 개념 등)

 

필요하다고 생각되는 부분은 부록으로 첨부하겠습니다.

 

C++은 지속적으로 업데이트 되고 있습니다.

 

3년 마다 새로운 표준안이 공개되고 있고, 제가 작성하는 내용의 최신 정보 기준은 C++17로 하겠습니다.

 

물론, 기본 사항은 큰 상관이 없습니다.

 

개정되는 표준안은 모두 기본 사항에 근거하여 확장되는 개념입니다.

 

다음 포스팅부터 실질적인 사용 방법 위주로 포스팅 시작하겠습니다.

 

 

 

반응형