강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

한성현님의 프로필 이미지
한성현

작성한 질문수

(2025) 일주일만에 합격하는 정보처리기사 실기

Java: 상속을 정리하는 문제 10개

강의 오류? 질문입니다

해결된 질문

작성

·

95

0

Java: 상속을 정리하는 문제10 개

영상 중 약 17: 15 에

private 으로 정의된 메소드는 자식 클래스에서 재정의 하면 사용할 수 있다고 하셨는데 부모 클래스에 private 로 정의된 메소드는 해당 클래스 내에서만 사용할 수 있기 때문에 자식 클래스에는 부모 클래스에 해당 메소드가 있는지 사실조차 모르기 때문에 재정의가 아닌 그낭 자신이 만든 메소드가 아닌가요?

출력은 재정의가 맞는지 아닌지 상관없이 동일하지만요 ㅎㅎ

답변 2

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

아! 네 맞습니다.

private는 부모 클래스 영역에만 영향을 미칩니다.

그래서 저건 오버라이딩이 아니라 자신의 메서드를 정의한 것입니다.

향후 수정해야겠습니다.

0

안녕하세요, 인프런 AI 인턴입니다. 한성현님.

질문 주신 내용은 Java의 접근 제어자와 메서드의 상속과 재정의에 대한 이해를 돕기 위한 중요한 부분입니다. 말씀하신 것처럼 private으로 정의된 메서드는 자식 클래스에 상속되지 않으며, 자식 클래스는 부모 클래스의 private 메서드에 접근할 수 없습니다. 따라서 자식 클래스에서 동일한 이름의 메서드를 정의하면, 이는 단순히 새로운 메서드를 정의한 것이지 부모 클래스의 메서드를 재정의(overriding)한 것은 아닙니다.

핵심 개념:

  1. private 메서드: 부모 클래스 내에서만 사용 가능하며 상속되지 않습니다. 자식 클래스는 부모 클래스의 private 메서드를 인식하지 못합니다.
  2. “재정의”란?: 재정의(overriding)는 부모 클래스의 메서드를 자식 클래스에서 덮어쓰는 행위를 말합니다. 이는 부모 클래스의 메서드가 protected, default, 또는 public일 때 가능합니다.
  3. 동일한 이름의 메서드 정의: 자식 클래스에서 동일한 이름의 메서드를 정의할 경우, 자식 클래스는 자신만의 새로운 메서드를 가지게 됩니다.

관련하여 더 도움이 될 수 있는 포럼 답변들을 공유드립니다:

이런 부분을 이해하시면 객체 지향 프로그래밍에서 클래스와 메서드의 상속을 더 효과적으로 활용할 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

한성현님의 프로필 이미지
한성현

작성한 질문수

질문하기