ASP/ADO.Net C# 실무 과정 자료]  인터페이스예제 







ASP/ADO.Net C# 실무 과정 자료]  인터페이스예제 

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


인터페이스예제


해설)

■ 인터페이스를 추상클래스로 상속할 수 있다. 일반적으로, 인터페이스의 모든 메소드를 다 구현할 수 없을 경우 추상 클래스를 사용한다.

abstract class Airplane : Ifly


■ 다중 상속을 할 수있다. 아래의 예에서 이후에 나오는 SportsCar는 클래스이고, IFly는 인터페이스이다. : 이후 첫번째에는 클래스 또는 인터페이스가 올 수 있고, 두번째 이후에는 인터페이스만 올 수 있다.

class FlyingSportsCar : SportsCar, Ifly




ASP/ADO.Net C# 실무 과정 자료] 간단한 interface의 정의/사용






ASP/ADO.Net C# 실무 과정 자료] 간단한 interface의 정의/사용

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


간단한 interface의 정의/사용


■ interface 키워드를 사용한다.


■ 메소드 정의는 ;으로 마무리 해준다. 즉 구현하지 않는다.


■ 클래스에서 인터페이스를 구현할 때에는 : 을 쓴다. (클래스 상속과 동일)


interface IFly { // 정의하기
//string name; // 필드를 포함할 수 없다.
void Fly();
}

class FlyingSportsCar : Ifly{ // 구현하기
}


ASP/ADO.Net C# 실무 과정 자료] 인터페이스의 특징






ASP/ADO.Net C# 실무 과정 자료] 인터페이스의 특징

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


인터페이스의 특징


■ 특징 및 주의 사항

 - 인터페이스의 멤버들은 선언만 되며 구현되어서는 안된다.


 - 인터페이스의 멤버들은 암묵적으로 public 제한자를 가진다.


 - 인터페이스를 상속 받는 클래스들은 멤버들을 모두 구현해야 한다.


 - 인터페이스와 파생클래스는 반환형이 일치해야 한다.


 - 인터페이스에서 정의된 메소드가, 파생된 클래스에서 가상 메소드가 될수도 있고 아닐 수도 있다추상 메소드가 될 수도 있다.


 - 추상 클래스가 인터페이스로부터 파생될 수 있다.



ASP/ADO.Net C# 실무 과정 자료] 인터페이스(Interface)의 개념







ASP/ADO.Net C# 실무 과정 자료] 인터페이스(Interface)의 개념

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


인터페이스(Interface)의 개념


■ 인터페이스란?

- 인터페이스(Interface)란 구현되지 않은 메소드들을 모아둔 프로그래밍 단위이다.


- 프로퍼티, 인덱스, 이벤트 등도 멤버로 가질 수 있다.


- 인터페이스를 두는 목적: 다중상속(Multiple Inheritance)의 일부 기능 지원


- 추상클래스와 마찬가지로 인터페이스로 객체를 만들 수는 없다.


■ 인터페이스의 이름은 대문자 I가 앞에 붙는다.

예) IFly



ASP/ADO.Net C# 실무 과정 자료]  인터페이스와 다중상속






ASP/ADO.Net C# 실무 과정 자료]  인터페이스와 다중상속

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


인터페이스와 다중상속


ASP/ADO.Net C# 실무 과정 자료] 추상메소드 






ASP/ADO.Net C# 실무 과정 자료] 추상메소드 

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


추상메소드

해설)

■ 추상 메소드는 아래와 같이 정의 되었다.

public abstract void FastRun();

  - abstract 지시자를 명시한다.

  - ;으로 마무리해 준다. {}을 사용하면 구현된 것으로 판단 에러가 발생하다.


■ Boxter 클래스가 추상클래스 SportsCar를 상속받았는데, 추상메소드들을 구현해 주지 않았기 에러가 발생한다. 



ASP/ADO.Net C# 실무 과정 자료] 추상 클래스 사용하기






ASP/ADO.Net C# 실무 과정 자료] 추상 클래스 사용하기

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.



추상 클래스 사용하기


설)


■ 추상 클래스 SportsCar는 추상클래스 Car를 상속받을 수있다.


■ Car b=new Car(); 처럼 추상클래스로 직접 객체를 생성하는 것은 에러가 된다.


■ Boxter 클래스는 일반 클래스이지만, 슈퍼클래스 SportsCar에서 추상메소드를 정의하지 않았기 때문에 아무런 구현이 없어도 에러가 발생하지 않는다.


■ 뒷 페이지의 예에서 추상 메소드와 일반 메소드의 차이를 볼 수 있다.




ASP/ADO.Net C# 실무 과정 자료] 추상 클래스의 특징





ASP/ADO.Net C# 실무 과정 자료] 추상 클래스의 특징

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


추상 클래스의 특징


■일반 클래스와의 차이점


 - 추상 클래스는 상속의 최상위에 존재한다. 즉, 추상 클래스가 일반 클래스를 상속받을 수 없다.



 - 추상클래스가 추상클래스를 상속받을 수 있다.


 - 인터페이스를 이용하여 다중상속을 구현할 수 있다.


+ Recent posts