c++

객체지향의 꽃, "다형성"은 상속에서 나온다.

나빈스 코딩 2025. 5. 20. 16:18

Private 으로 상속받으면 상속받은 것들은 외부에서 사용할 수 없다.

class Derived : private Base {
public:
    void g(void);
};
void Derived::g(void)
{
    cout << "in function 'Derived::g()'\n";
}

int main() {
    Base myB;
    Derived myD;
    myB.f();
    myD.g();
	myD.f(); // 오류 발생
}

만약 public private을 생략하면 디폴트가 private이다.

Overloading vs. Overriding

virtual 쓰면 Overriding 안쓰면 Overloading.

virtual은 부모의 함수말고 자식함수를 쓴다는 선언.

Derived "is-a" Base

반대는 불가능.

다형성(Polymorphism) 조건

1. 자식함수에서 override가 일어나야함

4. 간접적으로 부모함수가 불려져야함

'c++' 카테고리의 다른 글

Pointers to Object  (0) 2025.04.29
캡슐화  (0) 2025.04.22
포인터변수에 숫자를 더하면  (0) 2025.04.22