4차산업혁명의 일꾼/Java&Spring웹개발과 서버 컴퓨터

C++ 프로그래밍

르무엘 2023. 1. 5. 17:35

1. 객체지향 언어의 개념

- 추상화 : 세상에 존재하는 실제 대상물의 수많은 특성(속성, 행위 등)들 중에서 응용분야에 필요한 요소들만으로 구성된 모델로 표현하는 것

- 캡슐화 : 객체 내부의 상세한 구현 부분과 외부 사용자의 관점을 분리하여 내부 구현부분은 공개하지 않고 외부의 타 객체는 공개된 인터페이스를 통해 객체를 사용할 수 있게 하는 것

- 정보은닉 : 사용자가 알지 못해도 되는 세부적 구성 요소들을 사용자에게 감추고, 사용자에게는 필요한 정보만을 공개하는

- 상속 : 상위 클래스가 갖는 일반적 속성 및 행위를 하위 클래스가 이어받게 하는 기능

- 다형성 : 동일한 연산이나 메소드가 대상에 따라 그것에 맞는 다른 방법으로 동작하는 것

- 바인딩 : 변수, 함수 등의 명칭이 값, 메모리 주소 등 그 대상에 해당되는 실체와 연결되는 것

- 동적바인딩 : 바인딩이 프로그램의 실행 중 동적으로 일어나도록 하는 것

 

 

2강. C++언어의 기초 

- C++프로그램은 C++ 소스프로그램 파일과 헤더파일 등으로 구성된다.

- C++의 기본자료형에 고정소수점 방식의 정수유형과 부동소수점 방식의 실수 유형이 있다.

- C++의 정수, 실수, 문자, 불값을 표현하는 기본 자료형을 제공한다.

- 연산은 자료형에 맞게 이루어지며, 서로 맞지 않는 자료형간의 연산식은 형 변환을 거친후 연산이 실행된다.

- 헤더파일 

 클래스, 함수의 원형, 매크로, 전역변수, 상수 등 여러 소스파일에 공통적으로 선언되는 내용을 담고 있는 파일로, 단독으로 컴파일되지 않고, 선행처리기에 의해 소스 프로그램에 삽입되어 함께 컴파일 된다.

- 선행처리

소스 프로그램을 컴파일 하기 전에 이를 가공하여 컴파일러가 실제로 번역할 프로그램을 만드는 과정

- 선행처리기 지시어

 선행처리기의 동작을 지시하는 명령

- 명칭공간 : 특정한 이름들이 인식되는 프로그램의 영역

- 통합개발환경(IDE) : 프로그램의 작성, 컴파일, 디버그 등 소프트웨어 개발에 필요한 도구들을 하나의 프로그램 안에서 사용할 수 있도록 하는 소프트웨어

- 자동적 형 변환

 컴파일러가 피연산자의 자료형에 따라 적절한 형 변환을 결정하여 번역하는 것

- 명시적 형 변환

 지정된 형 변환 연산자에 의해 이루어지는 형 변환

 - 조건문 : 지정된 조건에 따라 흐름을 선택하여 제어할 수 있는 문장

- 반복문 : 정해진 범위의 문장을 반복적으로 실행하게 하는 문장

- 배열 : 동일한 자료형의 값을 여러 개 저장할 수 있는 연속적으로 할당된 공간을 하나의 이름으로 묶어 놓은 변수

- 포인터 : 데이터가 저장되는 공간의 주소를 저장하는 변수

- 동적메모리 할당 : 프로그램 동작 중에 기억간의 필요성 및 소요량을 결정하여 필요한 공간을 할당하는 것

 

3강. 함수

- 함수 : 특정한 작업을 수행하는 프로그램의 부분 단위로서, 매개변수를 통해 작업에 사용될 데이터를 전달받을 수 있으며, 처리한 결과 값을 반환할 수 있다.

- 형식 매개변수 : 인수를 전달받기 위해 함수에 선언된 매개변수

- 실 매개변수 : 함수를 호출하는 문장에서 함수의 형식 매개변수에 전달하는 값

- 값호출 : 실 매개변수의 값을 형식 매개변수에 복사하는 함수 호출 방법으로, 함수 내에서 형식 매개변수의 값을 수정해도 실 매개변수의 값은 변화하지 않는다.

- 참조호출 : 실매개변수의 참조를 형식 매개변수에 전달하는 함수 호출 방법

- 디폴트 인수 : 디폴트 값이 지정된 인수

- 함수 다중정의 : 동일한 개념의 처리를 다양한 데이터나 객체에 대해 각각의 대상에 맞는 처리를 하기 위해 동일한 이름을 갖는 함수를 여러개 정의하는 것(인수의 개수 및 자료형을 가지고 판단한다.)

 - 빠른 실행이 요구 되는 함수는 inline으로 지정하여 선언할 수 있다. 그러나 inline으로 지정된 함수가 반드사 inline으로 번역되는 것은 아니다.

 

4강 클래스와 객체

- 가시성 지시어 : 데이터 멤버나 멤버함수들이 외부에 공개되는 정도를 나타내는 지시어

- 생성자: 객체가 생성될 때 수행할 작업을 정의하는 특수한 멤버함수

- 초기화 리스트 : 생성자에서 데이터 멤버를 초기화하는 값들을 나열하는 리스트

- 소멸자 : 객체가 소멸될때 수행할 작업을 정의하는 특수한 멤버함수

- 디폴트 생성자: 매개변수가 없거마 모든 매개변수에 디폴트 인수가 지정되 생성자

- 복사 생성자 : 같은 클래스의 객체를 복사하여 객체를 만드는 생성자

- static 데이터 멤버: 클래스에 속하는 모든 객체들이 공유하는 데이터 멤버

- 스택 : 마지막에 넣은 데이터가 가장 먼저 인출 되는 특성을 갖는 데이터 구조

 

5강. 연산자 다중정의

- 연산자 다중정의 : C++에 정의된 연산자를 사용자가 선언한 클래스의 객체에 대하여 사용할 수 있도록 다중정의 하는 것

- 다항 연산자 : 피연산자가 1개인 연산자

- 전위표기법 : 피연산자의 앞에 연산자가 표기되는 단항 연산자의 표기법

- 후위 표기법 : 피연산자의 뒤에 연산자가 표기되는 단항 연산자의 표기법

- 이항 연산자 : 피연산자가 연산자 앞/뒤에 하나씩, 2개가 사용되는 연산자

- 친구함수 : 클래스의 private 멤버를 액세스 할 수 있도록 허용된 함수

- null 문자 : 문자코드에 0으로 해당되는 문자로서, C/C++에서는 문자열의 끝을 알리는 용도로 사용됨

 

6강. 상속

-  상속 : 상위클래스가 갖는 일반적 속성 및 행위를 하위 클래스가 이어받게 하는 기능

- 기초클래스 : 클래스 계층구조에서 일반적 속성 및 메소드를 포함하는 상위 클래스

- 파생클래스 : 클래스 계층구조에서 상위클래스의 일반적 개념을 상속 받으면서, 해당클래스에 특수한 속성 및 메소드가 추가된 하위 클래스

- 클래스 멤버의 가시성 : 클래스의 멤버가 외부에 공개되는 범위

- 정적 연결 : 바인딩이 프로그램 실행 전에 이루어지도록 하는 것

- 동적 연결 : 바인딩이 프로그램이 동작되는 동안 대상에 맞게 이루어지는 것

- 업캐스팅 : 파생 클래스를 기초클래스로 형 변환하는

- 다운캐스팅 : 기초클래스를 파생클래스로 형 변환하는것

- 추상클래스 : 유사한 성격을 갖는 클래스들의 공통적 요소들을 뽑아서만든 클래스로, 일부 메소드의 구체적 구현이 없어 직접적인 사례가 존재하지 않는 클래스

- 상세클래스 : 클래스의 모든 요소가 구체적으로 구현되어 직접적인 사례가 존재하는 클래스

- 순수가상함수 : 행위의 구현 부분이 없이 선언된 가상함수

- 다중상속 : 2개 이상의 기초클래스로부터 상속을 받는 것

- 공통기초클래스 : 다중상속 과정에서 동시에 상속받은 2개 이상의 부모 클래스가 공통적 상속을 받는 기초클래스

 

 

 

 

 

 

 

 

LIST