inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조

Q. 오버로딩과 오버라이딩은 무엇인가요? ★★★

오버라이딩에 수퍼콜 내용이 포함되면 더 좋을 것 같습니다 :)

해결된 질문

111

한유태

작성한 질문수 79

0

안녕하세요 선생님 🙂

 

오버라이딩 관련해서 설명주실 때 수퍼콜 내용도 추가되면 더 좋을 것 같아서 제안드립니다 ^^

 

static class test1
{
public:
	virtual void eat() { std::cout << "먹는다" << '\n'; };
};


class test2 : public test1
{
public:
	virtual void eat() override {
		__super::eat();
		std::cout << "먹습니다" << '\n';
	};
};

// main
test2* t2 = new test2();
t2->eat();

/*
출력 결과 :
먹는다
먹습니다
*/

면접 운영체제 기술면접

답변 2

1

큰돌

안녕하세요 유태님 ㅎㅎ

해당 부분은 검토해보도록 하겠습니다.

 

좋은 의견 감사합니다. ㅎㅎ

0

인프런 AI 인턴

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

오버라이딩 관련해서 수퍼콜에 대한 설명을 추가하면 더 좋겠다는 제안, 감사합니다! 오버라이딩과 관련된 내용과 함께 수퍼콜에 대해서도 이해도를 높일 수 있는 좋은 예로 보입니다. 이를 통해 하위 클래스에서 재정의된 메서드가 상위 클래스의 메서드를 호출하는 방법을 효과적으로 보여줄 수 있습니다.

비슷한 질문과 답변이 있었는지 확인해봤습니다:
- 교안 98P 질문: C++에서 오버로딩과 오버라이딩에 대한 차이를 이해하는데 도움이 될 수 있는 질문과 답변입니다.

추가적으로 오버라이딩과 수퍼콜의 개념을 더 잘 이해할 수 있도록 간단히 정리해드리겠습니다.

오버라이딩(Overriding)

오버라이딩은 상속받은 메서드를 하위 클래스에서 재정의하는 것을 의미합니다. 오버라이딩된 메서드는 상위 클래스에서 정의된 메서드와 이름, 반환형, 매개변수가 동일해야 합니다.

수퍼콜

수퍼콜(혹은 super call)은 오버라이딩된 메서드 내에서 상위 클래스의 메서드를 호출할 때 사용됩니다. 이렇게 하면 하위 클래스의 메서드에서 상위 클래스의 기능을 확장하거나 수정할 수 있습니다.

예제 코드 설명

__super::eat() 코드를 통해 test2 클래스에서 test1 클래스의 eat 메서드를 호출하고, 이후 하위 클래스에서 추가적인 작업을 수행하는 방식으로 구현되었습니다. 이는 상위 클래스의 기능을 유지하면서 추가적인 작업을 수행할 때 유용합니다.

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

REST API (Self-descriptive messages)

0

25

1

시스템 엔지니어 관련 질문입니다.

0

51

2

오버라이딩 관련하여 질문드립니다.

0

62

2

교착상태의 4가지 필요조건이 필요충분조건이 아닌 이유

0

89

1

렌더 트리, 렌더 레이어와 그래픽 레이어

0

56

2

로컬스토리지, 세션스토리지, 쿠키의 공통점

0

67

1

IPv4가 IPv6보다 빠른 경우

0

98

2

UDP가 전송계층의 역할을 못하는 건 아닌지

0

59

1

Path MTU 발견하였음에도 패킷 분할이 필요한 이유?

0

65

2

교재의 LFU 알고리즘에서 6번이 왜 히트인가요?

0

64

2

페이지 교체 알고리즘? 프레임 교체 알고리즘?

0

81

2

Static 키워드가 메모리에 올라가는 시점

0

77

2

헤더 압축부분 질문드립니다

0

72

2

공유 캐시 관련 질문 드립니다.

0

56

2

컨텍스트는 context와 contextual information으로 나눠진다는게 무슨뜻인가요?

0

198

1

회선과 대역폭의 관계

0

60

2

44강 질문

0

92

2

버스 토폴로지 질문 있씁니다

0

53

1

자바스크립트, xml 문법 관련

0

66

2

전략패턴과 의존성주입 질문

0

69

2

Model이 비즈니스 로직을 담당하나요?

0

106

2

CS 공부 하는 법

0

181

2

큰돌님 블로그에 개념정리해서 올려도될까요!

0

137

2

FIN 세그먼트 질문

0

70

2