C++: 디자인 패턴(Design Pattern)
소프트웨어 디자인 패턴(Software Design Pattern) 소프트웨어 개발에 있어서 반복적인 문제를 해결하기 위한 해법으로서 이미 만들어 놓은 패턴들이다. 짧게 디자인 패턴이라고 부를 때가 더 많다. 큰 범주에 따라 3가지 큰 가지로 나뉜다. 생성 패턴(Creational Pattern...
소프트웨어 디자인 패턴(Software Design Pattern) 소프트웨어 개발에 있어서 반복적인 문제를 해결하기 위한 해법으로서 이미 만들어 놓은 패턴들이다. 짧게 디자인 패턴이라고 부를 때가 더 많다. 큰 범주에 따라 3가지 큰 가지로 나뉜다. 생성 패턴(Creational Pattern...
객체 지향 설계(Object Oriented Design, OOD) OOP와 연관이 깊은 개념으로, OOP가 프로그램과 코드의 구현방식에 대한 개념과 이론이였다면, 객체 지향 설계(OOD)는 프로그램/시스템의 구조와 설계에 대한 방법론이다. 즉, 보다 거시적인 시각에서의 접근법이다. 어떤 객체와 책...
함수 오버로딩(Function Overloading) 동일한 이름의 함수를 여러개 정의하는 행위. C언어에서는 함수 이름만으로 구분 C++에서 매개변수까지 함께 고려하기에, 매개변수 자료형이나 갯수가 다르면 다른 함수로 인식. 클래스에서 여러 생성자로 초기화하는 ...
벡터(Vector) #include<vector> using namespace std; int main(){ //vector<자료형> 변수이름; vector<int> Nums; return 0; } 고정적인 기존 배열과는 다르게, 필요에...
2-1 자원 관리(Resource Management) 프로그램이 실행되는 과정에서 연산되고 참조되는 데이터는 모두 메모리 상에 존재. 데이터는 생성 시점이나 방식에 따라 운영체제의 관리 하에 수명에 따라 특정 메모리 영역(Segment)에 할당 되며, 크게 4개로 구별된다. 주소값이 낮은 곳 부터 차례대로 코드, 데이터...
1-5 클래스(Class) C++에서 도입된 객체 지향 프로그래밍의 객체(Object)를 구현하기 위한 구조로, 필요한 데이터와 기능을 서로 관련된 덩어리/집합인 객체로 묶고 세부적인 구현을 외부로부터 감추기 위해 사용. 사용자가 알아야 할 내용이 감소함으로서 보다 쉽고 간편한 사용 유도. ...
포인터(Pointer) 메모리상의 주소값을 저장하기 위한 자료형, 모든 자료형은 포인터로 만들 수 있다. 동적인 메모리 접근과 관리를 가능하게 하고, 큰 객체를 복사하지 않고 주소만 전달할 수 있게 int main(){ int val = 5; //선언: 포인터자료형* 이름 ...
조건문(Conditional Statement) 조건에 따른 명령 수행을 구현, 다양한 상황에 대해 올바른 동작을 보장 if: 주어진 조건이 참이면 실행 int main(){ int a = 1; //if(condition) {statement;} if(a ...
알고리즘(Algorithm) 문제를 해결하기 위한 절차 튜링머신이 모든 유효한 입력에 대해 유한한 시간에 정지하게 만들기 위한 명령 페르시아의 수학자인 알콰리즈미(al-Khwārizmī)에서 유래 여러 요소에 대해 좋은 알고리즘인지 평가하는 방법이 다름 ...
1-1 프로그래밍 기초 (Programming basics) C++ C언어의 확장버전으로, C언어 기본 구조에 객체지향 프로그래밍(Object Oriented Programming), 제네릭등 다양개념이 합쳐짐. 가장 많이 사용되는 프로그래밍 언어중에 하나로, 언리...