본문 바로가기

C++

Chapter 6. C++의 또 다른 기능 Chapter 6. C++의 또 다른 기능 1. Template - 사전적 뜻으로 무엇인가를 만들기 위한 형틀을 말하는데 C++에서는 객체를 만드는 틀로 사용할 수 있다. - 실제로 템플릿(Template)은 문제가 많아 잘 사용되지 않는다. - 함수 템플릿(Function Template) ‧ 함수 템플릿(Function Template)는 주로 내용은 동일하고 데이터형만 다른 함수를 정의할 때 사용한다. ‧ 정의 방법 ◦ template 선언 후 꺽쇠기호()안에 typename 선언하고 template 이름을 써준다. ◦ 그리고 함수를 선언하는데 함수의 데이터형과 매개변수의 데이터형만 template 이름으로 선언하고 이하는 함수의 용도에 맞게 정의한다. ‧ 함수 템플릿(Function Templat.. 더보기
Chapter 5. 연산자 오버로딩(Operator Overloading) Chapter 5. 연산자 오버로딩(Operator Overloading) 1. friend - 전역함수로 선언된 함수가 어떤 Class의 friend 함수로 선언되면 해당 Class의 신뢰를 얻어 private로 선언된 멤버 변수로 접근이 가능하다. - Class 자체를 friend로 선언해 사용할 수도 있다. - 일반적으로 Class 내에서 선언된 private 멤버 변수는 Class 내에서만 직접접근이 가능하며 다른 함수에서 접근하기 위해서는 간접 접근을 해야 하는데 friend 함수로 선언하면 함수 내에서 직접 접근이 가능해진다. 2. 연산자 오버로딩(Overloading) - 연산자 오버로딩(Overloading)의 특징 · 연산자 오버로딩(Overloading)은 함수 오버로딩(Overload.. 더보기
Chapter 4. 상속(Inheritance) Chapter 4. 상속(Inheritance) 1. 상속이란 - 상속은 객체지향의 주요 특성인 모듈의 재사용과 코드의 간결성을 제공한다. - 상속은 확장의 개념으로 상위 Class의 모든 요소를 상속받고 추가 요소를 더 가지는 개념이다. - 상속은 다중으로 사용할 수 있으며 이를 다중상속이라 한다. - 상속의 관계 ‧ 상속 관계는 상속을 받는 Class와 상속을 해주는 Class로 나뉜다. ‧ 자식 Class가 상속 받는 방법은 Class 이름 뒤에 콜론(:)을 붙이고 상속할 Class 이름을 붙인다. ‧ 상속 해주는 Class : Base Class, Super Class, 부모 Class ‧ 상속 받는 Class : 파생 Class, Sub Class, 자식 Class 2. 상속의 특징 - 접근제어.. 더보기
Chapter 3. 객체지향 프로그래밍(Object Oriented Programming) Chapter 3. 객체지향 프로그래밍(Object Oriented Programming) 1. 객체지향 프로그래밍 - 모든 데이터를 객체(Object)로 취급하여 프로그래밍 하는 방법으로, 처리 요구를 받은 객체가 자기 자신의 안에 있는 내용을 가지고 처리하는 방식이다. - C언어와 같은 절차지향 프로그래밍은 함수 중심적인 프로그래밍이다. - 객체(Instance) · 데이터(실체)와 그 데이터에 관련되는 동작(절차, 방법, 기능)을 모두 포함한 개념 · 예로 함수나 변수를 들 수 있다. - 클래스(Class) · 객체를 표현하기 위해 사용되는 상자(틀) · Class를 통해 프로그램 소스코드를 분할해 만들 수 있다. · Class 선언 시 꼭 끝에 세미콜론(;)을 써줘야 한다. · Class로 인해 .. 더보기
Chapter 2. C++의 메모리 동적 할당 Chapter 2. C++의 메모리 동적 할당 1. 메모리(Memory) - 메모리 ‧ 프로그램이 실행되는 동안 데이터가 저장되는 공간 ‧ 운영체제에 의해 할당되는 메모리 공간 ◦ 코드(Code) 영역 : 실행할 프로그램의 코드가 저장되는 공간으로 CPU는 코드영역에 저장된 명령문을 하나씩 꺼내 실행한다. ◦ 데이터(Data) 영역 : 전역변수와 static변수가 할당되는 영역으로 프로그램 시작과 동시에 할당되어 종료 시까지 남아있는 특징의 변수가 저장되는 공간이다. ◦ 힙(Heap) 영역 : 프로그래머가 원하는 시점에 메모리 공간에 할당 및 소멸을 하기 위한 공간이다. ◦ 스택(stack) 영역 : 지역변수와 매개변수가 할당 되는 공간으로 함수를 빠져나가면 소멸되는 변수를 저장하는 공간이다. - 메모리.. 더보기
Chapter 1. C++의 개요 Chapter 1. C++의 개요 1. C++ - C++는 C언어를 확장시킨 언어로 C언어의 기능 및 문법을 모두 포함할 뿐 아니라 일부 문법을 사용하기 편하게 개선시킨 언어이다. - C언어는 절차지향인 반면, C++는 객체지향 언어이다. - C언어와 다른 C++의 특징 ‧ C++ 확장자 : .cpp(C언어 : .c) ‧ 함수 중간에 변수 선언이 가능 ‧ 표준 입출력 라이브러리 : iostream(C언어 : stdio.h) ‧ 출력 함수 : std::cout(C언어 : printf) ‧ 입력 함수 : std::cin(C언어 : scanf) 2. C++에서의 입출력 - C++에서의 입출력 라이브러리 ‧ C++에서는 iostream이라는 라이브러리를 표준 입출력 라이브러리로 사용하고 있으며 헤더파일 확장자인.. 더보기