2010.07.22 02:32 책 정리/Effective C#

이 포스트를 만든 목적

  • 이젠 습관인가?

이 포스트의 준비 상황

  • gVim 7.2
  • Microsoft Visual C# 2010 Express

참조 링크

내용

new 한정자는 무엇인가?

  • http://zmeun.tistory.com/50  -- 링크로 대체한다. 코드는 다음:

왜 new 한정자를 제목의 경우에만 사용 해야 하는가?

  • virtual method는 상속기반에서 윗단 것을 호출 했을 때, 아랫단 것으로 호출 하는 성질을 표준화 한것이다. 하지만 이를 new로 받아 주면, 표준화 한 virtual method 사용법이 완전히 달라진다.

  • 상속 기반에서 윗단 일반 method는 아랫단에서도 변하지 않겠다는 표준화된 방법이다. 이를 아랫단에서 new 로 재정의 한다면, 이 표준화 된 방법이 완전히 달라진다.

결론

  • 상속 윗단을 건들 수 없는데, 윗단이 변경 되어서, 아랫단 이름과 중첩이 되어 버리는 상황에서 이미 내가 만든 라이브러리가 전세계적으로 배포되었다면, 모두에게 업데이트 받으라고 일러주기에는 힘들다. 이럴 때, new 한정자를 이용하여, 처리해주면 좋다.

    하지만 장기적으로 봤을 땐, 이름을 다르게 짓는게 더 좋다. new 한정자는 어쩔 수 없을 때, 쓰는 마법같은 녀석이라고 생각하자.

여담

  • 무척 졸려울 뿐이다.


posted by 농사를 짓는 게임 프로그래머 최익필

댓글을 달아 주세요