어리석은 질문 인 것처럼 보이지만 너무 궁금해서 문제에 대해 이야기 할 때 올바른 용어를 사용하고 싶습니다. 비슷한 질문을 찾을 수 없으므로 새 질문을 작성하기로 결정했습니다.
"구현 대체"덮어 쓰기 또는 재정의를 참조해야합니까? 특정 언어입니까?
어리석은 질문 인 것처럼 보이지만 너무 궁금해서 문제에 대해 이야기 할 때 올바른 용어를 사용하고 싶습니다. 비슷한 질문을 찾을 수 없으므로 새 질문을 작성하기로 결정했습니다.
"구현 대체"덮어 쓰기 또는 재정의를 참조해야합니까? 특정 언어입니까?
답변:
일반적으로 사용되는 단어는 재정의이며 wikipedia에서 읽을 수 있으므로 언어별로 다릅니다. http://en.wikipedia.org/wiki/Method_overriding
한 구현을 다른 구현으로 완전히 대체하는 경우 " 덮어 쓰기 "또는보다 일반적으로 " 대체 "입니다. 특정 경우에 구현을 다른 것으로 대체하는 경우 " 재정의 "입니다.
무언가 를 " 덮어 쓰기 "하는 것은 덮어 쓰기 된 것을 파괴하여 다른 것을 다른 곳에 두는 것입니다. 무언가 를 " 재정의 "하는 것은 재정의 된 것을 해치거나 변경하지 않고 다른 것이 작동되도록하는 것입니다.
이것은 재정의 와 덮어 쓰기 의 차이점에 대한 나의 이해입니다. 실제 예제 .
자동차 제조 회사가 있다고 가정하십시오. 고객은 항상 당신을 믿고 제품을 구매하기 때문에 유명하고 행복합니다.
비즈니스를 진행하려면 기본적으로 두 가지 옵션이 있습니다.
모든 일이 이루어지고 올바른 길로 들어 섰다는 것을 알고 있습니다. 따라서 이전 모델을 유지하고 향상시킬 수 있습니다. 어떻습니까? 기존 모델에 몇 가지 새로운 기능을 추가함으로써 가능합니다! 이제 새로운 모델은 모든 기능이 PLUS 새롭게 향상된 기능.
당신은 당신이 겪은 방식이 잘못되었다는 것을 알고 있습니다! 얼마나 끔찍한 접근! 회사가 전체 기술을 변경해야한다는 것을 빨리 알 수 있습니다. 그렇지 않으면 파산과 같은 가혹한 상황에 처하게됩니다.
결국 프로그래밍 측면에서 첫 번째 접근 방식은 자동차에 새로운 동작 을 추가 하면서 자동차에 있던 이전 동작을 유지하면서 오버라이드를 참조하는 반면, 두 번째 접근 방식은 행동을 변경하려는 이후 덮어 쓰기를 완전히 새로운 기능을 처음부터 새로 개발하십시오.
이것이 도움이되기를 바랍니다.
나는 어떤 맥락이 주어지면 이해하고 구별하는 것이 훨씬 더 쉬울 것이라고 생각합니다.
에서 APUE §10.17 :
POSIX.1은 또한 프로세스에 의해
abort
신호 (SIGABRT
) 의 차단 또는 무시 를 무시하도록 지정합니다 .
Bing 사전에서 :
sth 재정의 : sb의 결정, 명령 등을 거부 할 권한을 사용합니다.
여기서 재정의 는 상위 권한으로 무언가를 "무시"한다는 의미입니다.
abort
프로세스의 신호 마스크를 대체하지 않고 단지 더 높은 권한으로 제한 조건을 "무시"합니다.
따라서 재정의 와 덮어 쓰기 는 완전히 다른 단어 라고 생각 합니다. 덮어 쓰기 는 이전 컨텐츠를 대체하는 단어 여야합니다.