C# 상속(Inheritance)

2023. 5. 14. 02:47C# 프로그래밍 개념

코드의 재활용성을 향상 시키기 위해서 만든 게 상속이다.

 

상속은 같은 코드를 반복해서 입력하기 싫을 때 사용한다. 사실, 함수도 그와 비슷한 역할이다.

 

상속은 클래스를 기반으로 하기 때문에 이게 대표적이다. 어떤 계열이 있는 지를 파악하는 게 중요하다.

 

멤버함수와 멤버변수를 클래스에서 걷어낼 수도 있다. 상속할 때에는 내려준다는 표현을 쓰기도 하고, 상속시킨다는 말을 쓰기도 한다. 새로운 클래스에 그 모든 멤버변수와 멤버함수를 넣어서 할 수도 있다.

 

C#에서 클래스의 상속은 하나만 가능하다. 근데 인터페이스를 쓰면 여러 개 상속도 가능은 하다. 내가 주로 쓰는 것에서는 병원 정보가 가지고 있는 클래스를 상속 받는 것을 할 수 있다. 상속할 때 내려준다. 상속시킨다 라는 말을 쓴다.

상속 받을 때 메모리 구조는 대략 이렇게 되어 있다. 언제든지 부모의 형태가 될 수 있는데 이러한 것을 업캐스팅이라고 하고, 그 반대를 다운 캐스팅이라고 한다. 상속을 받는다고 그 부모 자체가 되는 건 아니고 자신의  특성을 갖고 있을 수도 있다. 오버라이드를 하면 꼭 부모대로만 가진 않으니까.

 

상속도 상속의 주체가 되는 부모의 공개 범위를 Public / Protected / Private 중에 어느 것으로 설정하느냐에 따라 달라진다. public이면 외부에서 상속 가능 / Protected면 자식까지 상속이 가능 / Private는 내부에서만 가능하다.

'C# 프로그래밍 개념' 카테고리의 다른 글

C# 프로퍼티  (0) 2023.05.15
C# 동기와 비동기 짧게  (0) 2023.05.15
C# 배열  (0) 2023.05.13
C# 오버라이딩  (0) 2023.05.13
C# 인터페이스  (0) 2023.05.12