부모가 상태와 행위가 잇으면
자식이 상속을 받으면 부모의 상태와 행위를 이어 받는다
위와같이 이해하면 상속을 제대로 사용 못함.
상속 안해도
class 엔진 { int power = 200; void powerUp() { power= power +1; } } class 자동차 extends 엔진 { 엔진 e = new 엔진(); }
- 식으로 하면 사용가능하다.
- 상태와 행위를 이어받으려고 재사용하기위해 사용하는것이아님.
다형성
추상화를 잘해야 프로그램을 잘 짤 수 있다.
객체지향 1원칙 - 상태는 행위를 통해 바꾼다.
자동차야 너 엔진이니 ? > 답이 yes 여야 사용가능.
엔진을 상속하면 (엔진이 뒤니까 부모 , 자동차가 자식)