1. Namespace(=Package)에 각 클래스 파일로 분류한 프로젝트 구조를 그대로 보면

Vehicle.cs

using System;

namespace MyApplication
{
  class Vehicle  // Base class
  {
    public string brand = "Ford";  // Vehicle field
    public void honk()             // Vehicle method 
    {
      Console.WriteLine("Tuut, tuut!");
    }
  }
}

 

Car.cs

using System;

namespace MyApplication
{
  class Car : Vehicle  // Derived class
  {
    public string modelName = "Mustang";  // Car field
  }
}

Result:
Tuut, tuut!
Ford Mustang

Vehicle이라는 super class를 상속 받은 Car이라는 child class

참고 : 자바에서는...

class Car extends Vehicle{
  public void printspd(){
    System.out.println(speed);
  }
}
public subclass extends superclass

public subclass implements interface1, interface2

extends로 상속(1개만 상속 가능)했고, 2개 이상은 implements로 인터페이스를 통해서만 가능했고 명시적이다.

그리고 C#도 자바를 베낀지라... 상속은 1개만 가능하고, 2개 이상은 인터페이스를 통해서만 가능하다. 단, 사용법은 상속과 동일하게 : 만 찍어서 사용한다.

 

Program.cs

using System;

namespace MyApplication
{
  class Program
  { 
    static void Main(string[] args)
    {
      // Create a myCar object
      Car myCar = new Car();

      // Call the honk() method (From the Vehicle class) on the myCar object
      myCar.honk();

      // Display the value of the brand field (from the Vehicle class) and the value of the modelName from the Car class
      Console.WriteLine(myCar.brand + " " + myCar.modelName);
    }
  }
}

 

 

2. 한 눈에 안 들어오니 코드만 모아서 보면...

class Vehicle  // base class (parent) 
{
  public string brand = "Ford";  // Vehicle field
  public void honk()             // Vehicle method 
  {                    
    Console.WriteLine("Tuut, tuut!");
  }
}


class Car : Vehicle  // derived class (child)
{
  public string modelName = "Mustang";  // Car field
}


class Program
{
  static void Main(string[] args)
  {
    // Create a myCar object
    Car myCar = new Car();

    // Call the honk() method (From the Vehicle class) on the myCar object
    myCar.honk();

    // Display the value of the brand field (from the Vehicle class) and the value of the modelName from the Car class
    Console.WriteLine(myCar.brand + " " + myCar.modelName);
  }
}


결과 :
Tuut, tuut!
Ford Mustang

 

+ Recent posts