class 사람{
}
// 클래스로 할 수 있는 것 3가지
class 사람{
void 말하다(){
}
void 생각하다(){
}
}
//메소드로 할 수 있는 2가지
class 백인 extends 사람{
void 눈속에_숨다(){}
}
//
double d=5; // 5 => 5.0
//형변환
//백인 리모콘이 사람 리모콘으로 형변환 돼서 들어간다.
사람 a사람 = new 백인();
a사람.숨다(); // 안되는 이유? 그냥 단순히 버튼이 뽑혀서 없다.
((백인)a사람).숨다(); // 된다. => 리모콘에 버튼을 추가한다.
// 백인 리모콘 => 사람 리모콘
// 버튼 3개짜리 => 버튼 2개짜리
객체가 변수에 들어가지 못하는 이유
a무기 변수에 무기가 들어간다는 것이 아니라 a무기와 연결되어 있는것이 무기이다.
다른말로 하면 a무기는 무기랑만 연결될 수 있다.
무기 a무기 = new 칼();
a무기 = new 활();
class 무기{}
class 칼 extends 무기{}
class 활 extends 무기{}
개념 파악을 하고 있어야한다. 부모와 자식의 메소드가 겹치면 자식 메소드로 실행한다(비활성화 시킨다, 덮어쓴다).
-> 상속은 다중상속이 불가능하다. 하나만 상속 받을 수 있다.