inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

(2027 대비!) 일주일만에 합격하는 정보처리기사 실기

Hiding (정적 메서드, 멤버 변수) v2

hiding 질문

해결된 질문

118

준상

작성한 질문수 7

0

하이딩과 static, 상속 관련해서 질문이 있습니다.

일반적인 상속 상황을 가정할 때

  1. 부모, 자식에게 둘 다 있는 메서드(즉, 오버라이딩): 자식꺼 사용

  2. 부모, 자식에게 둘 다 있는 static 메서드: 부모꺼 사용

  3. 부모, 자식에게 둘 다 있는 변수: 객체의 자료형(Parent p = new Child();의 경우 Parent의 변수 사용, Child c = mew Child();의 경우 Child의 변수 사용)에 맞는 변수 사용

이 맞을까요?

python java c 정보처리기사

답변 2

1

주말코딩

안녕하세요, 주말에 학습하시느라 고생이 많으십니다.

부분적으로 맞기도 한데 어떤 것은 좀 애매하게 말씀하셔서 약간 수정해서 말씀드립니다.


1번의 경우 말씀하시는 것이 맞습니다. 특별히 정정해드릴 부분이 없네요.

 

2번이 문제인데, 이 경우에는 정확히 말하자면 "선언된 타입"을 따라가는 것이 맞습니다.

물론 우리는 항상 Parent로 선언하니까 표면적으로는 말씀하시는 것이 맞으나,

혹시 문제에서 더 상위 체인인 클래스로 GrandParent가 나오면... 답 없죠.

선언된 타입을 따라가셔야 합니다.

Parent p = new Child();
p.staticMethod(); // → Parent의 static 메서드

Child c = new Child();
c.staticMethod(); // → Child의 static 메서드

 

3번은 가까운 변수를 쓰는 것이 맞으나, 외부에서 변수가 오는 경우에는 this. 혹은 super.가 붙어있는지 잘 보셔야 합니다.

명시적으로 부모의 변수나 현재 객체의 인스턴스 변수를 사용하기 때문에 그렇습니다.

 

단순히 변수의 필드 하이딩을 말씀하시는 것이면 맞습니다.

Parent p = new Child(); // → Parent의 변수
Child c = new Child();  // → Child의 변수

 

변수는 넘어가지 않고, 그대로 하이딩합니다.

 

 

 

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 준상님.

자바에서 상속과 관련된 하이딩(hiding) 및 오버라이딩(overriding)에 대한 질문을 주셨네요. 먼저 각 상황에 대한 설명과 함께 답을 드리겠습니다.

1. 부모, 자식에게 둘 다 있는 메서드(오버라이딩)

오버라이딩 된 메서드의 경우, 실제 객체의 클래스에 따라 메서드가 결정됩니다. 따라서 Parent p = new Child();의 경우, 자식 클래스의 오버라이딩 된 메서드가 호출됩니다. 이는 자바의 다형성(polymorphism) 때문입니다.

2. 부모, 자식에게 둘 다 있는 static 메서드

Static 메서드는 클래스 레벨에서 호출되며, 객체 인스턴스가 아닌 클래스 타입으로 결정됩니다. 따라서 Parent p = new Child();의 경우 부모 클래스의 static 메서드가 호출됩니다. 이는 오버라이딩이 아닌 하이딩(hiding)에 해당합니다.

3. 부모, 자식에게 둘 다 있는 변수

변수의 경우, 참조 변수의 선언된 타입에 따라 사용됩니다. 따라서 Parent p = new Child();로 사용하면 부모 클래스의 변수가, Child c = new Child();로 사용하면 자식 클래스의 변수가 호출됩니다.

위의 설명을 기반으로 이해에 도움될 수 있는 추가 링크입니다:
- 자바 상속과 메소드 오버라이딩 이해하기
- 자바에서 메소드와 변수 하이딩 차이점

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

정처기 2026-3 실기 문의

0

52

2

정처기 실기 3회 컴싸 사용 여부

0

34

1

모의고사 1 회 2번문제 중

0

45

2

26-2 이론문제 재탕

1

35

1

26-2년도 코드문제

0

23

0

26-2 코드문제

0

30

1

15분 48초 질문

0

38

2

26-1년도 이론문제 재탕

0

54

1

26-1년도 코드문제 재탕

0

38

0

이론재탕만 눈치챘어도

0

64

1

25-3년도 이론문제 재탕

0

50

1

25-3년도 코드문제 재탕

0

37

0

출력값 문의

0

41

2

25-2 분기커버리지

0

44

0

25-2 이론 재탕

0

54

1

25-1 이론 재탕

0

42

1

서브넷 마스크

0

48

2

모의고사 1회 계산문제 2개 맞았는데

0

64

2

업캐스팅 문제 예시 4번 부모 호출

0

48

2

모의고사 자료 해설이 너무 불친절하네요.

0

93

2

부모의 생성자 출력 관련

0

42

2

24-3 이론파트 재탕문제

0

56

0

누락코드

0

44

1

다차원 배열 포인터 질문있습니다

0

64

3