classPlayer{public:intm_hp;intm_attck;intm_defence;public:// Player 멤버 함수};classKnight:publicPlayer{public:intm_stamina;public:// Knight의 멤버 함수};intmain(){Knightk;k.m_attack=20;// 부모의 멤버에 접근 가능return0;}
ⅱ. 은닉성 (Data Hiding, Encapsulation)
몰라도 되는 것을 숨김
은닉: 데이터 중 사용자가 몰라도 되는 것을 숨기는 것
위험하거나 건드리면 안되는 것
다른 경로로 접근을 원할 경우
캡슐화: 연관된 데이터와 함수를 논리적으로 묶어 놓은 것
노출시키고 싶은 함수만 노출, 내부는 숨겨 놓음
classTest{public:intm_pub;private:int_pri;}intmain(){Testt;t.m_pub=0;// (O) 접근 가능t._pri=2;// (X) 접근 불가return0;}
ⅲ. 다형성 (Polymorphism)
같지만 다르게 동작
하나의 기능이 경우에 따라 서로 다르게 보이거나 작동하는 것
연산자 중복 (Operator Overloading): 부모 클래스 함수를 자식 클래스에서 재정의
댓글남기기