220404~220407 C++ Design pattern 교육 C++ 언어 내용 요약 Public : 기반 클래스, 파생 클래스, 외부에 모두 공개 protected : 기반 클래스, 파생 클래스에 공개 생성자를 protected에 놓는 경우: 추상적인 개념을 모델링 할 때 생성자를 직접 호출 불가능하게 만들고 파생되는 실체 클래스가 생성자를 호출할 수 있도록 하기 위함. (Abstract class) private : 기반 클래스에게만 공개 upcasting: 객체지향 언어 특성 상 파생클래스의 포인터를 기반 클래스의 객체로 캐스팅할 수 있다. (파생클래스는 기반클래스에서 정의하는 모든 기능을 지원함) 단, 기반클래스 형태일 때 파생클래스에서 정의한 고유 멤버에 접근이 불가능하며 파생클래스에서 정의하..