상속(10)
-
[C++] 28. 가상함수
#include #include using namespace std; // 가상함수(virtual method) // 가상함수는 부모 클래스에서 상속받을 클래스에서 재정의할 것으로 기대하고 정의해놓은 함수 // virtual이라는 예약어를 함수 앞에 붙여서 생성할 수 있다 // 이렇게 생성된 가상함수는 파생 클래스에서 재정의하면 이전에 정의되었던 내용들은 모두 새롭게 정의된 내용들로 교체됩니다. struct SchoolMember { string name; int id; SchoolMember() { } SchoolMember(string _name, int _id) { name = _name; id = _id; } void SetInfo(string _name, int _id) { name = _nam..
2022.06.10 -
[C++] 27. 상속의 오버라이딩
*오버로딩(Overloading) : 같은 이름의 함수(메서드) 여러개를 가지면서 매개변수의 유형과 개수가 다르도록 하는 기술로 다양한 유형의 호출에 응답할 수 있게됩니다. *오버라이딩(Overriding) : 상위 클래스가 가지고 있는 메서드를 하위 클래스가 재정의해서 사용하는 것으로 ' ' 부모클래스의 메서드는 무시하고, 자식 클래스의 메서드 기능을 사용하겠다'와 같습니다. #include #include using namespace std; // 오버라이딩 // 상위 클래스에 정의된 메서드와 같은 메서드를 하위 클래스에 정의하는 것 // 서드의 내용만 새로 작성하는 것 // 메서드의 선언부는 상위 클래스의 메서드와 완전히 일치해야 한다. // 즉, 반환형, 메서드명, 매개변수 개수, 매개변수 자료형..
2022.06.10 -
[C++] 상속 : 부모 몬스터 <--- 자식 드래곤
#include #include using namespace std; struct Monster { string name; int hp; int atk; int isChase; Monster(string _name, int _hp, int _atk, bool _isChase) { name = _name; hp = _hp; atk = _atk; isChase = _isChase; } void Attack() { cout
2022.06.10 -
[C++] 26. 상속
1. 상속의 개념_ 상속이란 무엇인가? #include #include using namespace std; // 상속의 개념 // 아래 구조체 monster와 player의 형태는 다르지만 공통된 속성과 기능이 있다 // 이는 중복되는 소스가 생기므로 효율이 떨어진다 // 중복되는 소스를 상위개념으로 해서 하나의 구조체(Charactor)를 만들어 놓고 // monster와 player에게 상속하게 만드는 것 // 하나의 부모 클래스로부터 특성이 조금씩 다른 자식 클래스를 얼마든지 파생시킬 수 있다. // 상속 관계의 아래쪽으로 내려올수록 더 많은 속성과 동작이 정의된다. // 위쪽의 선조 클래스는 멤버가 많지 않아 일반적이고 포괄적인 사물을 표현하는데 비해 // 아래로 내려올수록 후손 클래스의 멤버가..
2022.06.10