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






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


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

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


메소드


■ 메소드는 객체의 행동이다.

  - 행동을 의한 input(동기, 에너지) -> argument가 된다.

  - 행동의 결과 -> return value라 한다.


■ C에서 사용하는 함수(function)이 객체에서의 메소드이다.


■ C# 객체에서 필드와 메소드가 가장 기본적인 멤버이다.



ASP/ADO.Net C# 실무 과정 자료]명시적 인터페이스 






ASP/ADO.Net C# 실무 과정 자료] 명시적 인터페이스 

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

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


명시적 인터페이스



해설)

■ 다중 인터페이스를 상속 시, 공통적인 메소드가 있을 경우 인터페이스 별로 다른 명시적 구현을 할 수있다.


public void Crash() <- 공통적으로 구현하는 경우


void IRun.DefaultAction() 이건 부모 인터페이스 별로 다른 구현을 해주는 경우이다. 이때 지시자를 붙일 수 없다.


■ 명시적 구현을 한 경우 a.DefaultAction() 와 같이 쓸 수가 없다. 공통적 구현을 한 a.Crash() 는 사용할 수 있다.


■ 명시적 구현을 한 경우 그 메소드는 아래와 같은 방법으로 사용

IRun aRun = a; 한 후에 aRun.DefaultAction();



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를 상속받았는데, 추상메소드들을 구현해 주지 않았기 에러가 발생한다. 



+ Recent posts