하나의 클래스가 다양한 역할을 수행하게 되는 거대 클래스는 개발자가 지양해야 함void function(){cout 자식 클래스의 객체를 부모 클래스의 타입으로 변환하는 것을 업캐스팅이라고 함::는 범위 연산자, 범위 지정자SOLID 원칙, 객체지향 설계의 다섯 가지 원칙1. 단일 책임 원칙, SRP : 클래스는 한 가지 기능만 수행해야하고, 한 가지 이유로만 변경해야 한다.2. 개방-폐쇄 원칙, OCP : 클래스는 확장에는 열려 있으나, 수정에는 닫혀 있어야 한다.3. 리스코프 치환 원칙, LSP : 자식 클래스는 언제나 부모 클래스를 완전히 대체할 수 있어야 한다.4. 인터페이스 분리 원칙, ISP : 클라이언트는 사용하지 않은 인터페이스에 의존해서는 안 된다.5. 의존 역전 원칙, DIP : 고수준..