Programming/C#

[C# 개념정리] 상속(Inheritance)

Calif 2018. 10. 18. 10:03

상속은 캡슐화 및 다형성과 함께 객체 지향 프로그래밍(OOP)의 3가지 주요 특징 중 하나다. (MSDN에서..)


기본클래스에서 상속된 파생클래스는 기본클래스에서 정의된 메소드 등을 확장 수정하여 사용할 수 있다.


C#의 경우 다중상속은 안된다고 한다..


[상속의 기본 원칙]

1. 정적 생성자, 인스턴스 생성자, 소멸자, 구조체는 상속되지 않는다.

2. 단일 상속만 가능하다. but, 인터페이스로 가능


[상속의 활용]

1. 기존에 있는 클래스를 새로운 클래스에서 수정해서 사용해야 할 때

2. 클래스의 소스코드는 없고 DLL 파일만 있을때


상속은 


Public Class Class_A

{

public Class_A()

{

~~

}

}



Public Class Class_B : Class A

{

//이하 생략...

}


와 같이 " : 기본클래스 " 를 파생클래스 뒤에 추가하여 구현한다.. 


파생클래스에서는 "base" 혹은 "this" 메소드를 활용하여 다음과 같이 기본클래스의 변수 혹은 함수를 사용할 수 있다.


    public class A

    {

        public int value = 10;

        protected int value2 = 11;    //파생클래스 b에서만 접근 가능, 외부에서 접근 불가

        private int value3 = 12;        //파생클래스 b에서 접근 불가

    }


    public class B : A

    {

        public void GetValue()

        {

            int new_value = base.value;

            int new_value2 = base.value2; 

            //  int new_value3 = base.value3 = 13; => 에러 발생        

        }

    }




https://docs.microsoft.com/ko-kr/dotnet/csharp/tutorials/inheritance


'Programming > C#' 카테고리의 다른 글

[C# 개념정리] Drawitem(listbox)  (1) 2018.10.25
[윈폼] 호가창 만들기  (0) 2018.10.24