C# 기초강좌
상속과 메소드재정의를 이용한
다형성의 구현
탑크리에듀(http://www.topcredu.co.kr), 이종철
실습코드 및 동영상 다시 보기는 아래 URL에서
가능 합니다.
http://ojc.asia
상속이란?
 C#에서 상속은 콜론(:)으로 표시하며 하나의 클래스(자식 클래스, 파생 클래스)가
다른 클래스(부모 클래스, 기반 클래스)에서 정의된 속성과 메소드를 이어받아 그
대로 사용하는 것이다.
 자식클래스가 이미 정의된 클래스(부모 클래스)를 바탕으로 필요한 기능을 추가
하여 정의하는 것을 의미하며 부모 클래스의 자원을 재사용 하는 것이다.
 상속은 목적은 기본적으로 코드 재사용이며 더 나아가서 계층구조를 표현하기 위
한 목적도 있다.
메소드 재정의 및 다형성(Polymorphism)
 부모 클래스의 메소드를 자식 클래스에서 다시 정의 하는 것을 메소드 재정의
(Method Overriding)라고 부르며 다형성 기반으로 코딩할 때 흔히 쓰는 방법이다.
 다형성이란 상위클래스의 메소드를 재정의한 서브클래스의 메소드가 다양한 형
태로 표시될 수 있음을 이야기 하지만 나아가 객체지향 프로그래밍의 흐름제어를
객체를 통해 처리할 수 있는 하나의 방법이다.
 부모 클래스의 재정의 될 메소드에는 virtual 키워드를 사용해야 하며, 자식 클래
스의 재정의 되는 메소드에서는 override 키워드를 사용해야 한다.
 상위 클래스의 메소드를 자식 클래스에서 재정의 하는 경우 런타임 중에 가장 많
이 파생된 자식 클래스의 메소드가 실행된다. 만약 그 클래스에 실행할 메소드가
없다면 계층구조의 상위 클래스들을 탐색해서 메소드를 실행한다.
http://www.topcreduco.kr
상속과 메소드 재정의를 이용한 다향성 예제 - 1
using System;
namespace topcredu
{
public class Dog {
public string Name {
get; set;
}
public virtual void jitda() {
Console.WriteLine(Name + "가 짖다.");
}
}
http://www.topcreduco.kr
public class Pudle : Dog {
public override void jitda() {
Console.WriteLine(Name + " 푸들푸들
~");
}
public void Work() {
Console.WriteLine(Name + "가 일한다.");
}
}
상속과 메소드 재정의를 이용한 다향성 예제 - 2
public class Jindo : Dog {
public override void jitda() {
Console.WriteLine(Name + " 진도진도
~");
}
public void Run() {
Console.WriteLine(Name + "가 달린다.");
}
}
http://www.topcreduco.kr
class DogManager {
static void Main() {
Dog p = new Pudle();
p.Name = "푸들이"; p.jitda();
((Pudle)p).Work();
Dog j = new Jindo();
j.Name = "진도이"; j.jitda();
((Jindo)j).Run();
}
}
}
[실행결과]
푸들이 푸들푸들~
푸들이가 일한다.
진도이 진도진도~
진도이가 달린다.
This Practice makes the Expert!
C#,ADO.NET,Network
프로그래밍 기초과정
C#기초, Xamarin 앱 개발과정 Xamarin 앱개발 과정

(C#,닷넷강좌)상속, 메소드재정의, 다형성의 개념 및 간단한 실습예제_초보자를위한닷넷,자마린교육

  • 1.
    C# 기초강좌 상속과 메소드재정의를이용한 다형성의 구현 탑크리에듀(http://www.topcredu.co.kr), 이종철
  • 2.
    실습코드 및 동영상다시 보기는 아래 URL에서 가능 합니다. http://ojc.asia
  • 3.
    상속이란?  C#에서 상속은콜론(:)으로 표시하며 하나의 클래스(자식 클래스, 파생 클래스)가 다른 클래스(부모 클래스, 기반 클래스)에서 정의된 속성과 메소드를 이어받아 그 대로 사용하는 것이다.  자식클래스가 이미 정의된 클래스(부모 클래스)를 바탕으로 필요한 기능을 추가 하여 정의하는 것을 의미하며 부모 클래스의 자원을 재사용 하는 것이다.  상속은 목적은 기본적으로 코드 재사용이며 더 나아가서 계층구조를 표현하기 위 한 목적도 있다.
  • 4.
    메소드 재정의 및다형성(Polymorphism)  부모 클래스의 메소드를 자식 클래스에서 다시 정의 하는 것을 메소드 재정의 (Method Overriding)라고 부르며 다형성 기반으로 코딩할 때 흔히 쓰는 방법이다.  다형성이란 상위클래스의 메소드를 재정의한 서브클래스의 메소드가 다양한 형 태로 표시될 수 있음을 이야기 하지만 나아가 객체지향 프로그래밍의 흐름제어를 객체를 통해 처리할 수 있는 하나의 방법이다.  부모 클래스의 재정의 될 메소드에는 virtual 키워드를 사용해야 하며, 자식 클래 스의 재정의 되는 메소드에서는 override 키워드를 사용해야 한다.  상위 클래스의 메소드를 자식 클래스에서 재정의 하는 경우 런타임 중에 가장 많 이 파생된 자식 클래스의 메소드가 실행된다. 만약 그 클래스에 실행할 메소드가 없다면 계층구조의 상위 클래스들을 탐색해서 메소드를 실행한다. http://www.topcreduco.kr
  • 5.
    상속과 메소드 재정의를이용한 다향성 예제 - 1 using System; namespace topcredu { public class Dog { public string Name { get; set; } public virtual void jitda() { Console.WriteLine(Name + "가 짖다."); } } http://www.topcreduco.kr public class Pudle : Dog { public override void jitda() { Console.WriteLine(Name + " 푸들푸들 ~"); } public void Work() { Console.WriteLine(Name + "가 일한다."); } }
  • 6.
    상속과 메소드 재정의를이용한 다향성 예제 - 2 public class Jindo : Dog { public override void jitda() { Console.WriteLine(Name + " 진도진도 ~"); } public void Run() { Console.WriteLine(Name + "가 달린다."); } } http://www.topcreduco.kr class DogManager { static void Main() { Dog p = new Pudle(); p.Name = "푸들이"; p.jitda(); ((Pudle)p).Work(); Dog j = new Jindo(); j.Name = "진도이"; j.jitda(); ((Jindo)j).Run(); } } } [실행결과] 푸들이 푸들푸들~ 푸들이가 일한다. 진도이 진도진도~ 진도이가 달린다.
  • 7.
    This Practice makesthe Expert! C#,ADO.NET,Network 프로그래밍 기초과정 C#기초, Xamarin 앱 개발과정 Xamarin 앱개발 과정