static void Main(string[] args) { Notebook notebook = new Notebook(); notebook.TurnOn(); Notebook2 notebook2 = new Notebook2(); //notebook2.TurnOn(); // IMoniter.TurnOn 메서드는 Notebook 인스턴스로 호출 불가느으 //따라서 이 코드는 컴파일 오류가 발생한다. IMoniter mon = notebook2 as IMoniter; mon.TurnOn(); //반드시 IMoniter인터페이스로 형변환 해서 호출 }
public static void Main() { // TurnOn()을 public으로 선언한경우 Notebook notebook = new Notebook(); notebook.TurnOn(); // TurnOn()을 public으로 선언하지 않은 경우 IMoniter mon = notebook as Notebook; mon.TurnOn(); notebook.Key = 3; Console.WriteLine(notebook.Key); }