CH7-7~9
오버라이딩(Overriding)에 대해 배워보자.
이건 상속받은 조상의 메서드를 입맛대로 변경하는 것임. 참고로 오버라이드는 덮어쓰다라는 의미.
예를 들어봅시다.
원래 이런 메서드가 있었다고 해보자.. x와 y 좌표 출력하는 기능갖고 있음.
이런 친구가 위 메서드를 상속받았을때는..?
이렇게 상속받은 메서드는 좌표를 출력하는 기능을 갖는데, 사용자는 당연히 z까지 출력하는게 기능에 포함되어 있다고 생각할 것. 이때 상속받은 메서드를 z까지 출력할 수 있게 바꿀 수 있다. 이게 바로 오버라이딩이다.
이때 함수 시그니처는 변경 불가하고, 바디만 바꿀 수 있다.
참고로 오버라이딩했다고 조상에게 받은 메서드가 변경되는건 아니고, 그 상속받은 메서드도 남아있다. 복사해서 새로 이름이 같은 메서드를 만드는 것임.
자주 쓰이는 오버라이딩은 toString을 이용하는 것임… 이친구는 println(참조변수)
와 실행이 동일하기 때문에..
오버라이딩의 3가지 조건