이 포스트를 만든 목적

  • 왜 그런지 알고 싶어서 공부하려고

이 포스트의 준비물

  • gVim 7.3 (7.3을 쓰고 있긴 한데, 뭐가 더 좋아졌는지 모르겠다. :) )

참고 서적

  • Effective C#

내용

왜 reflection을 과도하게 사용하면 안되는가?

  • reflection으로 객체 생성할 때, 객체가 생성 디지 않을 수 있는 문제 때문에
    맛보기 코드 - reflection 사용시 NULL 이 나올 수도 있다는 예제

  • reflection으로 메서드 호출시, 현재 잘못 되고 있는지 알기가 힘들기 때문에
    맛보기 코드 - reflection 으로 메서드 호출시, 메서드 호출이 안되는 경우 예제

  • reflection으로 필드 접근시, 필드 이름을 잘못 기입해 접근을 못할 수 있기 때문에
    맛보기 코드는 생략한다. 이 덕분에 null 접근하여, 예외가 발생 될 수 있다는 것만 알면 된다.

그러면 어떻게 대처 해야 하는가?

  • attribute를 이용한다.
    - 맛보기 코드 생략, 쉽게 생각해서, 책갈피를 꽂아둔다고 보면 된다.
  • interface를 통해 접근한다.
    - 맛보기 코드 생략, 쉽게 생각해서, 헤더파일의 공유라고 보면 된다.

결론

  • 어셈블리 동적 바인딩이 가능하게 해주는 reflection를 조심해서 쓰자.

여담

  • 책보는데 1시간 ...


  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기