[내일배움캠프 Day15] 디자인 패턴 - 구조 패턴
·
내일배움캠프/TIL
이어서  '포르잔 C++ 바이블' 책에 있는 디자인 패턴 내용 중 구조 패턴에 대해 정리하였습니다.  1. 구조 패턴의 개요적절한 자료형이 없는 상태에서 문제를 해결해야 하는 경우, 이미 존재하는 인터페이스와 구현을 결합해서 새로운 자료형을 만들어 문제를 해결합니다. 구조 패턴은 이런 경우 사용하는 방법으로 상속과 구성을 결합해 사용하는 방법을 정리한 것입니다. 2. 브리지 패턴브리지 패턴은 새로운 인터페이스를 만들 때, 이전 구현을 변경하지 않고 간단하게 구현할 수 있게 해줍니다. 새로운 인터페이스가 기존의 인터페이스를 구성으로 포함하고, 새로운 인터페이스 내부의 함수에서 기존의 인터페이스가 갖는 함수를 호출하는 것입니다. 3. 어댑터 패턴기존의 어떤 클래스를 사용해야 하는데 인터페이스가 우리가 원하는..
[리뷰] 누구나 자료 구조와 알고리즘
·
책/리뷰
https://www.yes24.com/Product/Goods/105122143 누구나 자료 구조와 알고리즘 - 예스24사칙 연산으로 복잡한 알고리즘을 쉽게 이해해보자수학 용어와 전문 용어가 아니어도 이해한다이 분야의 책은 대부분 컴퓨터 공학 전공자를 대상으로 쓰였거나 고등학교 수학을 잘 안다고 가www.yes24.com  자료 구조에 대해 가볍게 읽을 책을 찾던 중, 평소 좋아하던 길벗 출판사의 책이라 자연스럽게 선택하게 되었습니다. 현재 개정판이 나왔으나 저는 대학교 전자도서관으로 책을 읽어 개정 전 도서를 읽었습니다. 대상 독자  책 읽는 방법 작가의 설명처럼 책은 순서대로 자연스럽게 이어지며, 자료 구조를 선택하는 방법, 그리고 선택한 자료 구조가 코드 성능에 미치는 영향을 이해하기 쉽게 정리되..
[내일배움캠프 Day14] 디자인 패턴 - 생성 패턴
·
내일배움캠프/TIL
내일배움캠프 3-1 강의에서 디자인 패턴 내용을 간단하게 배워 '포르잔 C++ 바이블' 책에 있는 디자인 패턴 내용 중 생성 패턴에 대해 정리하였습니다.   생성 패턴(creational pattern) : 전통적인 방법으로 인스턴스화하면 안 되는 상황에서, 어떤 형태로 객체를 인스턴스화해야 하는지에 대한 방법 1. 생성 패턴 구조객체 지향 프로그래밍은 원래 위 그림처럼 객체의 설계와 생성을 분리하는 것이 목적입니다. 그런데 클래스를 설계자가 설계한대로 사용자가 사용하지 않는 경우가 많이 발생했습니다. 그래서 객체의 생성과 관련된 모든 책임을 클래스의 사용자에게 맡기는 것이 좋지 않다는 의견이 나왔습니다.설계자와 사용자 사이에서 발생할 수 있는 이러한 객체의 생성과 관련된 문제를 해결할 수 있도록 여러 ..
[내일배움캠프 Day13] C++ 2주차 과제 진행
·
내일배움캠프/TIL
[3번 과제] 템플릿 및 STLSimpleVector.h#pragma once#include #include template class SimpleVector {private: T* data; int currentSize; int currentCapacity;public: // 기본 생성자 SimpleVector() : currentSize(0), currentCapacity(10) { data = new T[currentCapacity]; } // 용량 지정 생성자 SimpleVector(int capacity) : currentSize(0), currentCapacity(capacity) { data = new T[currentCapacity]; } // 복사 생성자 SimpleVector(con..