public class A {
private double[] data;
public A(double[] data) {
this.data = data;
}
public double mean() {
return null;
}
}
public class B extends A{
private String title;
public B(double[] data) {
super(data);
}
public String history() {
return null;
}
}
이렇게 A클래스와 B클래스가 존재합니다. 이 경우, A sample = new B(); 와 같이 객체를 생성하는 이유를 알고 싶습니다.
저렇게 생성하면 B클래스의 history()메소드는 사용이 불가하고 A클래스에서 상속받은 mean()메소드만 사용이 가능하다고 배웠는데 그렇다면 A sample = new A();와 다를 것이 없지 않습니까?
또한, A sample = new B();와 B sample = new B();와의 차이점을 알고 싶습니다.
제가 배우기로는 전자의 것이 범용성과 다양성을 위한 방법이라고 하는데 그것이 맞는지 맞다면 예를 부탁드리고, 틀리다면 이유를 알려주시면 감사하겠습니다.