1. 블루프린트 클래스
2. 멤버 변수와 멤버 함수
3. is Vaild
4. Player vs Monster

5. 상속성
shift+s ⇒ 모두저장
6. 캐스팅
player→ knight 말고도 kinght→ player로 캐스팅할 수 도있는데
왜하냐?
캐스팅(casting)은 프로그래밍에서 데이터 타입을 변환하는 과정을 말합니다. 주로 두 가지 종류의 캐스팅이 있습니다:
- 업캐스팅(Upcasting): 자식 클래스의 객체를 부모 클래스 타입으로 변환하는 것입니다. 이는 항상 안전하며 자동으로 수행됩니다.
- 다운캐스팅(Downcasting): 부모 클래스의 객체를 자식 클래스 타입으로 변환하는 것입니다. 이는 명시적으로 수행해야 하며, 런타임 오류의 위험이 있습니다.
- 인벤토리 시스템: 게임에 ‘아이템’ 클래스가 있고, ‘무기’, ‘방어구’, ‘소비아이템’ 등이 이를 상속받는다고 가정합시다.
아이템[] 인벤토리 = new 아이템[20];
인벤토리[0] = new 무기();
// 업캐스팅 인벤토리[1] = new 방어구();
// 업캐스팅 인벤토리[2] = new 소비아이템(); // 업캐스팅
여기서 각 자식 클래스의 객체들이 '아이템' 타입으로 업캐스팅되어 저장됩니다.
- NPC 대화 시스템: ‘캐릭터’ 클래스가 있고, ‘플레이어’, ‘NPC’ 클래스가 이를 상속받습니다.
`void 대화하기(캐릭터 대상) { 대상.말하기("안녕하세요!"); }
플레이어 player = new 플레이어();
NPC merchant = new NPC(); 대화하기(player);

7. 은닉성
—안전을 강화한다? ex_자동차 안에숨겨놓은게 엄청많은데 겉에는 버튼몇개만있다
private public 임 걍
private : 비공개 protected: 동일한 클래스에서만 사용 public과 private 의 중간 public: 공개