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
'개발자 > .NET' 카테고리의 다른 글
C# (C Sharp) Interface (인터페이스 추상화) 자바와 차이 (0) | 2021.01.22 |
---|---|
C# (C Sharp) Abstract class, Abstract method (0) | 2021.01.22 |
C# (C Sharp) Getter, Setter 자바와 비교 (0) | 2021.01.22 |
C# Class Members(클래스 멤버), Constructor(생성자) (0) | 2021.01.22 |
C# (C Sharp) Overloading(오버로딩), Overriding(오버라이딩), Polymorphism(다형성) 자바와 차이 (0) | 2021.01.22 |