안녕하세요 . 비제이입니다.
빡신 프로젝트 속에서, 글을 2달여 동안 못 썻네요...
이것저것 끄적거린것도 많아서 쓸 내용은 많았으나, 바쁘다는 핑게로 못썼네요...
습관을 가지도록 하겠습니다.

혹시, 인터페이스의 명시적 , 암시적 구현에 대해 아시나요.
개발하다가 이 차이를 몰라서 케망신을 당한 적이 있습니다. -_-;

명시적 구현을 한 클래스에는 구현한 메서드가 없습니다.
암시적 구현을 한 클래스에는 구현한 메서드가 있습니다.

먼 말인지 모르시겠죠? 저두 조금 -_-;
샘플을 보시죠~

public interface ICamera
    {
        void ZoomIn();
        void ZoomOut();
    }

    public class Sony : ICamera
    {

        #region ICamera 멤버

        //명시적 구현
        void ICamera.ZoomIn()
        {
            Console.WriteLine("땡겨~");
        }

        //암시적 구현
        public void ZoomOut()
        {
            Console.WriteLine("늘려~");
        }

        #endregion
    }

Sony 클래스에는 ZoomOut 메서드는 있지만, ZoomIn 메서드는 없습니다.
각각의 메서드를 호출하는 방법입니다.

static void Main(string[] args)
        {
            Sony camera = new Sony();
            ((ICamera)camera).ZoomIn();//명시적 구현
            camera.ZoomOut();//암시적 구현

        }
ZoomOut메서드는 암시적 구현했으므로, 접근이 가능하지만,  ZoomIn 메서드는
ICamera의 멤버이므로, 캐스팅해서 사용해야합니다.

상황에 따라서 잘 사용해 보시기 바랍니다.

자주 찾아뵙겠습니다. (--)(__)(--)


ps>
엠칵스님, 재학사마, 종호쓰도.. 잘 계시는군요... 방가방가~

이 게시물을..