디필의 요모조모
명품 C++ Programming 1장 요약 본문
C++ 시작
컴퓨터와 프로그래밍
- 전문가들은 소프트웨어가 주목받는 세상이 왔고, 이 시대의 IT 세계를 지배할 것으로 예측한다.
- 소프트웨어는 컴퓨터의 중앙처리장치(CPU)가 이해할 수 있는 일련의 명령들과 데이터로 구성되며, CPU는 이 명령들을 실행함으로써 요구된 기능을 수행한다.
- 프로그래밍 언어는 0과 1의 이진수로 구성되는 기계어, 기계어의 각 명령어를 ADD, SUB, MOVE 등과 같은 상징적 니모닉 기호로 일대일 대응시킨 어셈블리어, 사람의 언어에 보다 가까운 C, C++, Java 등의 고급 언어로 진화하였다.
- 고급 언어는 컴파일러에 의해 기계어로 변환되고, 어셈블리어 프로그램은 어셈블러라는 시스템 프로그램에 의해 기계어로 변환된다. 대부분의 경우 컴파일러는 기계어로 변환할 때 어셈블러를 이용한다.
C++ 언어의 역사
- C++는 1967년 BCPL 언어에서 태동하여, 1970년 B, 1972년 C 언어로 진화하고, 1979년 Bjarne Stroustrup에 의해 만들어져 1983년 C++로 정식 명칭을 갖게 되었다.
- 표준 C++ 규칙에 맞게 작성된 C++ 프로그램은 하드웨어, 운영체제 플랫폼에 상관없이 표준 C++ 컴파일러에 의해 컴파일되고 동일한 실행 결과가 보장된다.
C++ 언어의 특징
- C++ 언어의 주요한 설계 목표는 C 언어와의 호환성, 객체 지향 개념 도입, 엄격한 타입 체크, 실행 시간의 효율성 저하 최소화 등이다.
- C++ 언어에서 C 언어에 추가적으로 도입한 기능은, 함수 중복, 디폴트 매개 변수, 참조와 참조 변수, 참조에 의한 호출, new와 delete 연산자, 연산자 재정의, 제네릭 함수와 제네릭 클래스 등이다.
- C++의 객체 지향 특성으로는 캡슐화, 상속, 다형성 등이며, C++에서 객체 지향 특성을 도입한 목적은 소프트웨어의 생산성을 향상하고, 실세계 문제를 쉽게 모델링하기 위한 것이다.
- 실행하고자 하는 절차대로 명령어를 나열하여 프로그램을 작성하는 방법을 절차 지향 프로그래밍이라고 부른다.
- 실제 세상과 가깝게 모델링하기 위해, 응용에 필요한 물체(객체)를 모델링하고, 이들 간의 관계, 상호 작용을 표현하는 프로그래밍 기법이 객체 지향 프로그래밍 이다.
- 제네릭 프로그래밍은 동일한 프로그램 코드에 다양한 데이터 타입을 적용할 수 있도록 클래스와 함수를 일반화시킨 제네릭 함수와 제네릭 클래스를 활용하는 기법이다.
- C++ 언어는 C 언어와의 호환성으로 인해 클래스 바깥에 변수를 선언할 수 있도록 허용함에 따라 캡슐화의 원칙이 무너졌다.
C++ 프로그램의 개발 과정
- C++ 프로그램은 C++ 소스 프로그램의 편집, 컴파일, 링킹 과정으로 세분화된다. 그리고 실행 오류를 수정하는 작업을 디버깅이라고 부른다.
- C++ 소스 프로그램은 표준 확장자가 .cpp인 텍스트 파일로서 아무 텍스트 편집기로 작성 가능하다.
- C++ 컴파일러로 생성된 목적 코드는 바로 실행할 수 없고, 링킹 과정을 거쳐야 한다.
- Visual Studio와 같이 C++ 프로그램 작성, 컴파일, 링킹, 실행, 디버깅 등 C++ 프로그램 개발에 필요한 모든 도구를 지원하는 C++ 통합 개발 환경을 사용하는 것이 좋다.
C++ 표준 라이브러리
- C++ 표준 라이브러리는 C 라이브러리, C++ 입출력 라이브러리, STL 라이브러리의 3그룹과 기타로 구분되며, C 라이브러리를 제외한 두 그룹은 템플릿(제네릭)으로 작성되어 있다.
'Programming Language > C++' 카테고리의 다른 글
명품 C++ Programming 4장 요약 (0) | 2020.10.13 |
---|---|
명품 C++ Programming 3장 요약 (0) | 2020.10.13 |
명품 C++ Programming 2장 요약 (0) | 2020.10.13 |
아두이노(Ardoino) 7-Segment 코드 및 연결 방법 (0) | 2019.12.09 |
아두이노(Ardoino) 블링크 코드 및 연결 방법 (0) | 2019.12.09 |
Comments