본문 바로가기

override

(2)
C#_메소드 오버라이딩(virtual) Virtual키워드와 abstract 키워드의 차이는 abstract 메소드가 구현을 가지지 않고, abstract 클래스 안에 선언되어야 하는 것에 반해, Virtual 메소드는 구현을 가지고 일반 클래스에 선언될 수 있다는 것이다. 사실 Virtual 메소드는 Virtual 제한자가 붙는다는 것 외에는 다른 메소드와 동일하다. Virtual 메서드는 오버라이드 할 때 abstract 메소드와 마찬가지로 override 키워드를 사용한다. ex) /* 2/24 객체지향적 프로그래밍(상속: Virtual(제한자))*/ using System; class Com { public void Gr() { Console.WriteLine("그래픽 OK"); } public virtual void Ne() { Co..
C#_메소드 오버라이딩(abstract) Abstract 제한자는 클래스, 메소드 및 프로퍼티에 대해 사용할 수 있다. 메소드가 abstract로 선언되었다면 해당 클래스에서는 이 메소드를 구현하지 않고 해당 클래스의 파생 클래스가 이 메소드를 구현해야 한다. abstract 메소드는 머리만 있고 몸통이 없는 메소드 이기 때문에 해당 클래스에서는 사용할 수 없다. 클래스 선언에 abstract 제한자를 사용하면 해당 클래스가 다른 클래스의 기본 클래스만 사용됨을 나타낸다. abstract 메소드는 abstract 클래스 안에서만 선언할 수 있고 abstract 클래스는 자기 스스로 객체를 생성하지 못한다. 자신에게서 상속을 받은 클래스만이 객체를 생성할 수 있다. 또한 abstract 메소드는 상속 받은 클래스에서 반드시 구현해야 한다. abs..