C# 문법 3주차-상속

김건호·2023년 11월 15일
0

C#

목록 보기
9/22

상속이란?

  • 상속은 기존 클래스를 확장하거나 재사용하여 새로운 클래스를 생성하는것입니다.
  • 자식클래스는 부모클래스의 필드, 메서드, 프로퍼티를 상속받아 사용할 수 있습니다.
  • 상속을 통해 부모 클래스의 기능을 확장하거나 수정하여 새로운 클래스를 정의할 수 있습니다.

상속의 장점

  • 코드의 재사용성: 상속을 통해 기존 클래스의 코드를 재사용할수 있습니다.
  • 계층구조의 표현: 클래스간의 계층 구조를 표현하여 코드의 구조를 명확하게 표현할 수 있습니다.
  • 유지보수의 향상: 상속을 통해 기존 클래스의 수정이 필요한 경우, 해당 클래스만 수정하면 끝입니다.

상속의 특징
  • 부모 클래스의 멤버에 접근: 자식클래스는 상속받은 부모클래스의 멤버에 접근할수 있고 그 기능을 재사용할 수 있습니다.
  • 메서드의 재정의: 자식클래스는 부모클래스의 메서드를 재정의하여 자신에게 맞게 수정할 수 있습니다.
  • 상속의 깊이: 클래스는 다수의 계층적인 상속 구조를 가질 수 있습니다. 부모 클래스가 다른 클래스의 자식으로 들어갈 수 있다는것을 의미합니다.

접근제한자와 상속

  • 상속 관계에서 접근제한자는 중요합니다. 부모클래스의 접근제한자에 따라 자식클래스가 해당 멤버에 접근할수있는지 여부를 결정합니다.
// 부모 클래스
public class Animal
{
    public string Name { get; set; }
    public int Age { get; set; }

    public void Eat()
    {
        Console.WriteLine("Animal is eating.");
    }

    public void Sleep()
    {
        Console.WriteLine("Animal is sleeping.");
    }
}

// 자식 클래스
public class Dog : Animal
{
    public void Bark()
    {
        Console.WriteLine("Dog is bark.");
    }
}

public class Cat : Animal
{
    public void Sleep()
    {
        Console.WriteLine("Cat is sleeping.");
    }

    public void Meow()
    {
        Console.WriteLine("Cat is meow.");
    }
}

// 사용 예시
Dog dog = new Dog();
dog.Name = "Bobby";
dog.Age = 3;

dog.Eat();      // Animal is eating.
dog.Sleep();    // Animal is sleeping.
dog.Bark();     // Dog is barking

Cat cat = new Cat();
cat.Name = "KKami";
cat.Age = 10;

cat.Eat();
cat.Sleep();
cat.Meow();

Animal이라는 부모클래스에 Dog와 Cat이라는 자식클래스가 들어가 있는 코드의 사용 예시입니다.

profile
콜라게임

0개의 댓글

관련 채용 정보