편집 기록

편집 기록
  • 프로필 편집요청빌런님의 편집
    날짜2017.06.30

    (객체지향)객체생성에 대한 질문


    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();와의 차이점을 알고 싶습니다.

    제가 배우기로는 전자의 것이 범용성과 다양성을 위한 방법이라고 하는데 그것이 맞는지 맞다면 예를 부탁드리고, 틀리다면 이유를 알려주시면 감사하겠습니다.

  • 프로필 알 수 없는 사용자님의 편집
    날짜2017.05.24

    (객체지향)객체생성에 대한 질문


    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();와의 차이점을 알고 싶습니다.

    제가 배우기로는 전자의 것이 범용성과 다양성을 위한 방법이라고 하는데 그것이 맞는지 맞다면 예를 부탁드리고, 틀리다면 이유를 알려주시면 감사하겠습니다.