다형성

BuZZLightyear·2023년 2월 28일
0

정리

목록 보기
12/47

다형성이란 ?

하나의 객체가 여러가지의 형태를 가질 수 있는 성질
한 타입의 참조변수를통해 여러타입의 객체를 참조할 수 있도록 만든 것
상위 클래스 타입의 참조변수를 통해서 하위 클래스의 객체를 참조할 수 있도록 허용한 것

class ManU {
    void player() {
        System.out.println("맨유 소속 선수");
    }

}

class Antony extends ManU {
    void player() {
        System.out.println("나는 맨유 소속 선수 안토니 입니다");
    }
}

class Rashford extends ManU {
    void player() {
        System.out.println("나는 맨유 소속 선수 래시포드 입니다");
    }
}
    public static void main(String[] args) {

        ManU mu = new ManU();
        Antony an = new Antony();
        ManU rash = new Rashford();

        mu.player();
        an.player();
        rash.player();

    }
맨유 소속 선수
나는 맨유 소속 선수 안토니 입니다
나는 맨유 소속 선수 래시포드 입니다

rash의 참조변수 타입을 Rashford로 하지않고 상위 클래스인 ManU로 함으로써 참조변수 rash가 사용할 수 있는 멤버의 개수는 상위클래스 멤버의 개수가 됨

상위 클래스 타입으로 하위 클래스 타입의 객체는 참조할 수 있지만 반대는 불가능 하다.
(상위클래스에는 하위클래스에서 구현된 멤버가 없기때문이다)

profile
버즈라이트이어

0개의 댓글