메소드 오버라이드, 다형성

Moon·2024년 2월 24일

Java

목록 보기
14/45

오버라이드

부모클래스에 정의된 내용보다 자식 클래스에서 정의한 내용을 더 우선시하는 것

메소드 오버라이드

자식의 메소드를 부모의 메소드보다 더 우선시하는 것. 행위의 내용을 재정의하는 것.

접근제어자

private 메소드는 오버라이드가 불가함.
오버라이드는 public, protected, default 메소드만 가능.
오버라이드시 더 공개됀 접근제어자로만 가능.

변수는 오버라이드 되지 않는다.

부모변수의 접근은 super

public class Dog {
    public String color = "검정";
}

public class Jindodog extends Dog {
    public String color = "베이지";

    public String getColor() {
        return color;
    }

    public String getParentColor() {
        return super.color; //부모 변수 접근
    }
}

Dog dog = new Jindodog();
dog.color //베이지

Jindodog jindodog = new Jindodog();
jindodog.getParentColor(); //검정
jindodog.getColor(); //베이지

0개의 댓글