2013년 9월 8일 일요일

닷넷,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(); } [출처] 오라클자바커뮤니티 - http://www.oraclejavanew.kr/bbs/board.php?bo_table=LecCsharp&wr_id=88

닷넷,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% 환급


댓글 없음:

댓글 쓰기