오버라이딩

    오버라이딩(overriding)은 주로 메서드 오버라이딩(method overriding)을 말하며 상위 클래스로부터 상속받은 메서드를 하위 클래스가 재정의하는 것을 의미합니다.

    이는 런타임 중에 발생하는 ‘동적’ 다형성입니다.

     

    자바

    코드 위치: ch1/16.java

    class Animal {
        public void bark() {
            System.out.println("mumu! mumu!");
        }
    }
    
    class Dog extends Animal {
        @Override
        public void bark() {
            System.out.println("wal!!! wal!!!");
        }
    }
    
    public class Main {
        public static void main(String[] args) {
            Dog d = new Dog();
            d.bark();
        }
    }
    /*
    wal!!! wal!!!
    */

    앞의 코드를 보면 부모 클래스는 mumu! mumu!로 짖게 만들었지만 자식 클래스에서 wal!!! wal!!!로 짖게 만들었더니 자식 클래스 기반으로 메서드가 재정의됨을 알 수 있습니다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.