본문 바로가기

상속2

[C++] 생성자(Constructor) 소멸자(Destructor) 생성자 객체가 생성되면서 멤버변수의 초기화나 멤버함수를 호출하는 등 사전에 필요한 준비작업을 하는 함수 입니다. 1. 반환 형은 없다. 2. 클래스 이름과 동일하게 선언을 한다. 3. 외부의 값으로 멤버변수를 초기화 해야할 경우 매개변수를 가진 생성자를 재정의(오버로딩) 할 수도 있다. 쉽게 말하자면 우리가 변수를 초기화 하듯이 객체가 생성됨과 동시에 객체를 초기화 시켜주는 역할을 합니다. 그런데 이전 포스팅들을 보면 생성자가 정의되어 있지 않음에도 불구하고 에러없이 잘 돌아가는데 그건 컴파일러가 기본생성자를 만들어서 호출하기 때문입니다. 만약 오버로딩된 생성자를 정의 한다면 기본생성자는 컴파일러가 만들어주지 않습니다. 따라서 기본생성자도 구현을 해줘야 하죠. //.h class CBase { publi.. 2020. 7. 19.
[C++] 객체지향과 클래스에 대해 - 상속(Inheritance) 앞선 포스팅의 접근지정자 public, private을 캡슐화(Encapsulation)과 함께 설명했는데요. 오늘 포스팅은 나머지 하나. protected에 대해 설명하겠습니다. 근데 protected를 이해하기 전에 상속(Inheritance)이란 개념을 반드시 알고 넘어가야 합니다. 상속은 객체지향 특성 4가지 중 하나로, 나머지 특성이면서 가히 C++의 꽃이라 할 수 있는 다형성(Polymorphism) 실현에 필수적인 요소이기 때문입니다. 뿐만 아니라 클래스 간의 계층적 분류를 통해 관리 및 재사용을 용이하게 할 수 있는데 이는 소프트웨어의 생산성을 향상시킬 수 있습니다. 상속이란 클래스를 정의할 때 어떤 클래스를 확장하여 파생하는 걸 말합니다. 그러면 기본클래스(부모클래스), 파생클래스(자식클.. 2020. 6. 20.