닷넷,C#,추상클래스, 추상 메소드(abstract
method)의 특징, 닷넷교육강좌,C#교육강좌
l 추상 메소드(abstract method)의 특징
1. 추상 메소드는 본문 내용을 포함 할 수 없다.
abstract class Bank {
public
abstract inth withdraw() { … } //오류
}
:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office"
/>
2. 추상 메소드는 가상 메소드(virtual method) 이다.
- 추상 메소드는 묵시적으로 가상 메소드의 역할을 겸비하고 있다.
하지만 아래의 코드 처럼 명시적으로 virtual을 붙이면 안 된다.
abstract class Bank {
public virtual abstract int WithDraw(); // 오류
}
3. 추가된 파생 클래스에서 추상클래스에서 선언된 추상 메소드를 오버라이드 할 수 있다.
추상 메소드는 가상 메소드 이므로 그 추상클래스를 상속하는 하위 클래스에서 override
할 수 있다.
class BankAccount: Bank {
Public
override int WithDraw() {
…
}
}
4. 추상 메소드는 virtual로 선언된 기반 클래스의 메소드를
오버라이드 할 수 있다.
virtual로 선언된 기반 클래스 메소드를 오버 라이딩 하는 것은 추상클래스 하위의
파생 클래스에게 추상클래스의 메소드 구현을 제공 하고 원래의 메소드(추상클래스 상위에서 구현해 놓은
메소드)를 사용 할 수 없도록 하는 것이다. 아래의 예를
보자.
class BankAccount {
public virtual
decimal CheckBalance() {
…
}
}
abstract class BankAccount2 : BankAccount {
public
abstract override decimal CheckBalance();
}
5. 추상메소드는 override로 선언된 기반 클래스 메소드를
오버라이드 할 수 있다.
4번과 같은 결과를 나타낸다.
Class Bank {
Public virtual
int Deposit() {
….
}
}
class BankAccount: Bank {
public
override int Deposit() {
…
}
}
abstract class BankAccount2: BankAccount{
public
abstract override int Deposit();
}
오라클자바커뮤니티 실전 강좌 - 개인80% 환급
댓글 없음:
댓글 쓰기