← Java 암기북

Java · 🔥 반드시

오버라이딩과 실제 객체

오버라이딩과 실제 객체

시험 한 줄 · 30초 암기재정의된 인스턴스 메서드는 실제 객체에서 찾습니다.

쉽게 이해하기

Vehicle v = new Car();에서 Vehicle은 손잡이의 설명서이고 Car는 실제 자동차입니다. v.run()은 자동차가 구현한 동작을 실행합니다. 같은 이름의 부모 메서드를 자식이 다시 구현하면 실제 자식 객체의 메서드가 선택됩니다. extends는 부모의 기능을 물려받는다는 뜻입니다.

눈으로 따라가기

Vehicle v = new Car();
참조변수 선언 타입

v.value → Vehicle의 필드

Vehicle 타입에 선언된 필드를 컴파일 시 선택합니다.

실제 객체

v.run() → Car의 메서드

같은 시그니처로 재정의한 인스턴스 메서드를 실행 시 선택합니다.

Vehicle 참조 → Car 객체 → Car.run()

class Vehicle { int move(int n) { return n + 1; } }
class Car extends Vehicle { @Override int move(int n) { return 2 * n + 1; } }
public class Main {
  public static void main(String[] args) {
    Vehicle v = new Car();
    System.out.print(v.move(2));
  }
}

시험 함정

오버로딩과 다릅니다. 이름과 매개변수 형태가 같은 인스턴스 메서드를 재정의해야 합니다.

비슷한 개념의 핵심과 함정을 이 페이지에서 비교합니다.

즉시 문제 · 6개

정답을 제출하면 해설과 관련 개념을 확인합니다. 틀린 문제는 자동으로 오답노트에 저장됩니다.

즉시 3문제관련 문제 전체

검증 근거

기술 문서/실행 검증 · 마지막 검증 2026-09-27 · 핵심 코드 추적 유형 · 공식 출제 횟수 집계 없음