C#

C# 상속

KJaebee 2022. 6. 3. 01:46

상속

여기서 말하는 상속이란 부모가 가지고 있는 속성(변수, 메소드 등)을 자식에게 상속시켜서

자식이 부모의 속성을 사용할 수 있다는 것을 말한다.

 

상속 받는 방법은 아래와 같다.

 

class 자식클래스 : 부모클래스

 

클래스명 뒤에 : 부모클래스명을 붙여주면 된다.

 

상속을 사용하는 이유는 다음과 같다.

 

개와 고양이는 비슷한 특징을 가진다. (네 개의 다리와 꼬리 등등)

그렇다면 이러한 특성을 각각 따로 만들어 사용하는건 비효율적이다.

그러므로 공통된 특성은 하나의 클래스에 만들어서 개와 고양이 둘에게 상속받아 사용하는 것이 효율적.

 

그럼 상속에 대해 알아보자

 

일단 자식클래스는 부모클래스로부터 private를 제외한 모든 걸 물려 받는다.

그리고 물려받은 기능을 사용하려면 base라는 기능을 사용해야 한다.

이 base라는 키워드는 this의 키워드와 비슷한 역할을 한다.

this가 자기 자신을 가리키는 키워드라면 base는 자식클래스에 상속된 부모클래스를 기리키는 키워드이다.

 

그리고 자식 클래스를 사용하면 부모 클래스도 같이 불러와 지는데

그 증거로 자식 클래스를 인스턴스 했을 경우

부모 클래스의 생성자도 호출이 된다. 종료자도 마찬가지

 

호출 순서

부모클래스 생성자 -> 자식클래스 생성자 -> 자식클래스 종료자 -> 부모클래스 종료자

 

그리고 this 생성자 처럼 base를 통해서 생성자를 호출 할 수 있다.

자식클래스에서 부모클래스를 호출하는 것.

초기화를 자식클래스에서 하지 않고 부모클래스에서 가져와서 초기화 할 수 있다

 

간단하게 말하자면 자식 클래스에서 부모클래스 초기화  방식을 사용하는 것.

사용하려면 기본 클래스와 파생 클래스의 생성자의 형식이 서로 같아야한다.

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

C# 오버라이딩  (0) 2022.06.03
C# 접근 한정자  (0) 2022.06.02
C# this  (0) 2022.06.02
C# 얕은 복사, 깊은 복사  (0) 2022.06.02
C# 정적 필드, 메소드  (0) 2022.06.01