C++

Is A 관계,Has A 관계

Nin 2020. 12. 22. 10:57
class FightUnit
{
public:
   int publicInt;
protected:
   int protectedInt;
private:
   int privateInt;

public:
   void Fight(FightUnit& _Other)
   {
   
   }
};

class Player : public FightUnit
{

};

위의 코드에서 Player 클래스는 FightUnit을 상속 받았다.

상속은 Is A 관계이기 때문에 Player와 FightUnit은 Is A 관계이다

Player는 FightUnit 이다.

 Player Is A FightUnit

class Weapon
{

};

Weapon 클래스를 추가하고

class Player : public FightUnit
{
private:
   Weapon* Ptr;
};

Player 클래스에 Weapon 클래스를 (어떠한 형태든) 가지고 있다면

이는 Has A 관계가 된다.

Player는 Weapon을 가지고 있다.

   Player Has A Weapon