Java에서 메서드 오버라이딩

발행: (2025년 12월 15일 오후 08:43 GMT+9)
2 min read
원문: Dev.to

Source: Dev.to

메서드 오버라이딩이란

서브클래스가 이미 부모 클래스에 정의된 메서드에 대해 구체적인 구현을 제공할 때 이를 메서드 오버라이딩이라고 합니다.
서브클래스에서 오버라이드된 메서드는 부모 클래스의 메서드와 동일한 이름, 매개변수, 반환 타입을 가져야 합니다.

메서드 오버라이딩 규칙

  • Static 메서드는 오버라이드될 수 없습니다. 서브클래스에서 슈퍼클래스와 동일한 시그니처를 가진 static 메서드를 정의하면 슈퍼클래스 메서드를 숨깁니다.
  • Instance 메서드는 오버라이드될 수 있지만, 서브클래스가 슈퍼클래스의 static 메서드를 오버라이드할 수는 없습니다.
  • 서브클래스의 static 메서드가 슈퍼클래스의 static 메서드와 동일한 시그니처를 가질 경우, 원래 메서드를 숨깁니다.
  • Private 메서드는 서브클래스에 보이지 않기 때문에 오버라이드될 수 없습니다.
  • 슈퍼클래스 메서드가 private인 경우, 동일한 이름을 가진 서브클래스 메서드는 새로운 독립 메서드로 취급되며, 부모 클래스와는 관련이 없습니다.
Back to Blog

관련 글

더 보기 »

Java에서 object와 class는 무엇인가

Object란 무엇인가? Object는 property와 behavior를 갖는 현실 세계의 엔티티이다. 예를 들어, 펜은 color, brand, height, diameter와 같은 property를 가질 수 있다.