호빵의 IT 개발소

[C/C#] 상속, 다형성 본문

CS(전공지식)/프로그래밍언어

[C/C#] 상속, 다형성

호빵Stack 2022. 6. 19. 23:37

상속

  • 상위 클래스의 동작을 재사용, 확장 또는 수정하는 하위 클래스를 정의하는 행위
  • 멤버가 상속되는 클래스를 기본 클래스라고 합니다.
  • 기본 클래스의 멤버를 상속하는 클래스를 파생 클래스라고 합니다.

 

public class Animal
{	
    public Move()
    {
    	// 움직임
    }
    
    public Damage()
    {
    	// 데미지
    }
    
    public Dead()
    {
     	// 죽음
    }
}

public class WeakAnimal : Animal
{
    public override void Damage()
    {
    	// 공격 받으면 도망
        
        base.Damage();
    }
    
    public override void Move()
    {
    	// 추가적인 Move 관련 기능 추가
        
        base.Move();
    }
}

 

다형성

  • 프로그램 언어의 각 요소들(변수, 상수, 식, 객체, 메소드 등)이 다양한 자료형(type)에 속하는 것이 허가되는 성질
  • 하나의 타입에 여러 객체를 대입할 수 있는 성질

 

부모 클래스인 Animal 에서 Action 메서드를 파생 클래스 Pig, Triger, Deer 클래스에서 Action 메서드 받아 override를 이용하여 Action 메서드를 재정의 해주고, 그 안에서 각자 행동을 구현하여 출력

public class Animal
{	
    public virtual void Action()
    {
    	// 동물의 행동
    }
}

public class Pig : Animal
{
    public override void Action()
    {
    	// 사료 먹기
    	base.Action();
    }
}

public class Tiger : Animal
{
    public override void Action()
    {
    	// 잠자기
    	base.Action();
    }
}

public class Deer : Animal
{
    public override void Action()
    {
    	// 풀 뜯기
    	base.Action();
    }
}

 

 

참조 및 출처 : https://yogingang.tistory.com/23

https://afsdzvcx123.tistory.com/entry/C-%EB%AC%B8%EB%B2%95-C-%EB%8B%A4%ED%98%95%EC%84%B1%EC%9D%B4%EB%9E%80

 

Comments