2025/06/11 2

[C++]객체지향적 설계

순서응집도결합도SOLID원칙단일 책임 원칙개방 폐쇠 원칙리스코프 치환 원칙인터페이스 분리 원칙의존 역전 원칙객체지향적 설계가 중요한 이유대부분 라이브러리 및 오픈소스는 객체지향적으로 설계됨좋은 설계로 구현된 코드는 개발 시간을 단축할 수 있음좋은 설계로 구현된 코드는 기능 변경에 유연하게 대응할 수 있음응집도응집도란? : 클래스 또는 모듈 내부의 구성 요소들이 얼마나 밀접하게 관련되어 있는지를 나타내기 때문에 일반적으로 응집도가 높을수록 좋은 설계라고 평가됨.응집도가 낮은 경우서로 관련 없는 기능들이 하나의 클래스에 포함된 경우를 의미함.ex)팀원들의 목적이 하나인 팀과 팀원들의 목적이 각기 다른 팀의 차이응집도가 높은 경우서로 관련 있는 모듈들만 하나의 class에 있는 경우ex)1.피자배달 경로 확인..

C++ 2025.06.11

[C++]STL(Standard Template Library)

순서STL이란?컨테이너벡터맵알고리즘반복자STL이란?C++ 표준 라이브러리의 핵심 구성 요소 중 하나로 자료구조, 알고리즘, 반복자를 제네릭하게 제공하는 라이브러리임.제네릭 프로그래밍 철학을 기반으로 설계하여 템플릿을 사용해서 자료형에 상관없이 동작함최적화된 자료구조와 알고리즘을 제공하며, 코드 재사용성, 안정성, 성능을 확보함컨테이너데이터를 담는 자료구조를 뜻함. (데이터를 담는 방식이나 제공하는 메서드에 따라 여러 가지 컨테이너를 제공함)모든 컨테이너는 템플릿으로 구현되어 있으며, 다양한 타입의 데이터를 저장할 수 있음모든 컨테이너는 메모리 관리를 내부적으로 하기 때문에 사용시 메모리 해제를 직접 고려하지 않아도 됨.대부분의 컨테이너는 반복자를 제공하기 때문에 내부 구현을 몰라도 동일한 방식으로 컨테이..

C++ 2025.06.11