목표

  • 상속에 대해 알아보자.

객체지향의 4가지 특성

  • 객체지향은 크게 캡슐화, 상속, 다형성, 추상화 4가지의 특성을 가진다.
    • 추상화 (Abstraction) : 공통된 기능을 묶는것
    • 캡슐화 (Encapsulation) : 데이터 구조와 데이터를 다루는 방법을 결합 시킨 것
    • 상속 (Inheritance) : 상위 개념의 특징을 하위 개념이 물려받는 것
    • 다형성 (Polymorphism) : 하나의 행동을 여러 방법으로 구현하고, 상황에 따라 적당한 구현을 선택해서 쓸 수 있는 기능을 제공하는 것

상속 (Inheritance)

  • 상속을 사용하면 다른 클래스에 정의된 동작을 다시 사용 확장 및 수정하는 새 클래스를 만들 수 있다.

상속 예시

  • 모든 동물의 속성으로 이름을 사용하기 위해 Animal 클래스를 정의하였다.
public class Animal
{
    public string Name { get; set; }

    public string GetSound() 
    {
        Debug.Log("Get Animal Sound!!");
    }
}
  • Bird는 Animal를 상속받고 Fly라는 기능을 구현하였다.
using UnityEngine;

public class Bird : Animal  
{  
    public void Fly()  
    {  
        Debug.Log("Fly!!");  
    }  
}
  • Dog도 Animal을 상속받고 Run이라는 기능을 구현하였다.
using UnityEngine;

public class Dog : Animal  
{  
    public void Run()  
    {  
        Debug.Log("Run!!");  
    }  
} 
  • 동물원에 Dog와 Bird를 생성해 보았다.
  • Animal을 상속받았기 때문에, Dog와 Bird는 이름에 대한 속성과 소리에 대한 함수를 사용할 수 있다.
using UnityEngine;

public class ZooScript : MonoBehaviour  
{  
    // Start is called before the first frame update  
    void Start()  
    {  
        Bird bird = new Bird();  
        bird.Name = "bird";
        bird.GetSound(); // Get Animal Sound!!

        Dog dog = new Dog();
        dog.Name = "dog";
        dog.GetSound(); // Get Animal Sound!!
    }
}

+ Recent posts