2013년 1월 11일 금요일

[Java] 메소드 오버라이딩

상속시 부모의 메소드의 시그너처가 자식의 메소드와 같고 메소드의 몸체(내용)만 다르다.

그렇다면 왜 메소드의 시그너쳐를 같도록 할까?

자바의 다형성을 추구하기 위해서이다!
이 부분은 나중에 다형성에서 자세히 살펴보도록하자.

이렇게 부모의 메소드를 똑같이 자식클래스에 정의하여 내용부를 적절히 정의하는 것이
오버라이딩이다.

따라서 부모클래스에서 오버라이딩되는 메소드를 호출하면 부모클래스에 정의된 메소드가 호출되고 자식클래스 객체에서 같은 메소드를 호출하면 부모클래스에서 오버라이딩한 자신의 메소드를 호출한다.

즉, 오버라이딩하면 오버라이딩한 메소드가 호출된다.

댓글 없음:

댓글 쓰기