c++ 4

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

Private 으로 상속받으면 상속받은 것들은 외부에서 사용할 수 없다.class Derived : private Base {public: void g(void);};void Derived::g(void){ cout 만약 public private을 생략하면 디폴트가 private이다.Overloading vs. Overridingvirtual 쓰면 Overriding 안쓰면 Overloading.virtual은 부모의 함수말고 자식함수를 쓴다는 선언.Derived "is-a" Base반대는 불가능.다형성(Polymorphism) 조건1. 자식함수에서 override가 일어나야함4. 간접적으로 부모함수가 불려져야함

c++ 2025.05.20

Pointers to Object

#include using namespace std;class Point {public: double x; double y;};int main(){ Point *pt2; pt2 = new Point; // heap 공간에 pt2 공간이 할당되고 그 주소를 가리킴 pt2->x = 100.0; // pt2->x (= (*pt2).x) pt2->y = 200.0;}Delete가 중요한 이유void corrected_func() { Account *acct_ptr = new Account("Joe", 400, 1300.00); delete acct_ptr;}this pointer파라미터 이름이랑 멤버변수 이름이랑 같을 때 헷갈리기 때문에 쓰임.this->x = x..

c++ 2025.04.29

캡슐화

캡슐화는 객체지향프로그래밍에서 중요한 개념이다.말 그대로 중요한 정보는 캡슐에 넣어놓는다는 뜻이다.캡슐에 넣는 이유는 코드 유지보수가 쉽기 때문이다. (객체지향을 쓰는 이유이기도 함) 예시 코드는 다음과 같다.class Cat{ public: std::string getSpecies(void){ return species; } private: std::string species; // 고양이 종 이름} 캡슐화는 다른 사람들의 코드를 많이 보고, 많이 해보아야 아는 경험의 영역이다.많이많이 경험해보자.

c++ 2025.04.22