오버라이딩(Overriding)
자식 클래스가 부모 클래스로부터 물려받은 메서드를, 이름과 형태는 그대로 유지한 채 내부 동작만 자신에게 맞게 다시 정의하는 것을 뜻합니다.
한눈에 보는 정의
오버라이딩(Overriding)은 상속(Inheritance) (상속)받은 부모 클래스의 메서드를, 자식 클래스에서 이름과 매개변수는 그대로 유지한 채 내부 동작만 자신의 목적에 맞게 다시 정의하는 것을 뜻합니다.
자세히 알아보기
- 예문: "'동물' 클래스의 '소리내기' 메서드를 '개' 클래스에서 오버라이딩해 '멍멍'을 출력하도록 다시 정의했다."
- 부모 클래스의 기본 동작을 그대로 쓰지 않고, 자식 클래스만의 특성에 맞게 바꾸고 싶을 때 사용합니다.
- 이름과 매개변수가 완전히 같아야 한다는 점에서, 매개변수 형태를 다르게 해서 같은 이름의 메서드를 여러 개 만드는 오버로딩(Overloading) (오버로딩)과는 다른 개념입니다.
- 여러 자식 클래스가 같은 메서드를 각자 오버라이딩하면, 이는 다형성(Polymorphism) (다형성)을 구현하는 대표적인 방법이 됩니다.