상속은 캡슐화 및 다형성과 함께 객체 지향 프로그래밍(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 |