{
오버라이딩이란 무엇인가?
상속 관계에서의 멤버 함수를 재정의 하는 것을 의미한다.
오버로딩이란 무엇인가?
오버로딩은 함수를 확장한다는 의미이다. .. 사실 다른 함수를 같은 이름으로 만드는것이지만, : )
안전하지 않은 오버라이딩의 예는 무엇인가?
1. 재정의 함수와 본래함수가 다른 디폴트 매개변수를 사용 할때, 정말 힘든 디버깅을 할 수 있다.
예)
2. 이름 가림 현상을 들 수 있다. 함수를 찾을때 C++ 에선 제일 먼저 이름을 검색하는데, 이름이 존재하는 이름 구역이 오게 되면, 더 이상 이름을 찾지 않는 규칙이 있기 때문에 "이름을 가릴 수 있다"
예)
요렇게 에러를 벹어 낸다.
요 두개만 피하면, 어느정도 안전한 오버라이딩을 할 수 있을 것이다.
끝~
}
최근댓글