C++를 공부하다 보면 클래스, 상속, virtual, override 같은 개념을 자주 만나게 된다.이런 문법들은 각각 따로 외우는 것보다객체 지향 프로그래밍이라는 큰 틀 안에서 이해하는 것이 더 중요하다고 생각했다.그래서 이번 글에서는 객체 지향 프로그래밍의 개념과 핵심 특징,장단점, 그리고 SOLID 원칙을 간단히 정리해보려고 한다.객체 지향 프로그래밍의 개념과 핵심 특징객체 지향 프로그래밍은 관련된 속성(데이터)과 동작(기능, 메서드)을 하나의 객체로 묶고,객체 간의 상호작용을 중심으로 프로그램을 구성하는 방식이다.객체 지향 프로그래밍의 핵심 특징은 보통 다음 4가지로 정리한다.1. 캡슐화캡슐화는 관련 있는 데이터와 메서드를 하나로 묶고,필요한 기능만 외부에 공개하면서 내부 구현은 감추는 것이다...