목차
상속(inheritance)
상속된 class의 객체 생성
상속된 class의 객체 생성
본문내용
부모의 재산을 자식이 상속하듯이 부모 class(base/super class)의 public/protected member를 파생된 class(derived/sub class) 에게 물려주는 것
상속의 장점
계층적인 명확성
코드 재사용성
확장성
객체들 사이에서 공통된 부분(특성과 행위)과 고유한(객체들 사이의 차이) 부분을 구분
공통된 부분을 하나의 class(base class)로 구성
고유한 부분은 개별 객체의 각 class(derived class)로 구성
개별 객체의 각 class 는 base class 를 상속함으로써 공통된 부분과 고유한 부분을 모두 가짐
부모 class 의 public, protected 멤버만 상속
파생된 class에 field, method, property 등의 멤버를 추가할 수 있다.
단, base class에 해당 member가 정의되어 있지 않아야 한다.
부모 class에서 정의된 method나 property의 상세 구현을 바꾸어 구현할 수 있다.
C#은 단일 상속(single inheritance)만 지원
class BasicPayType
class Premium300 : BasicPayType
class Premium500 : BasicPayType
Premium300 user1 = new Premium300();
BasicPayType user2 = new Premium500();
상속의 장점
계층적인 명확성
코드 재사용성
확장성
객체들 사이에서 공통된 부분(특성과 행위)과 고유한(객체들 사이의 차이) 부분을 구분
공통된 부분을 하나의 class(base class)로 구성
고유한 부분은 개별 객체의 각 class(derived class)로 구성
개별 객체의 각 class 는 base class 를 상속함으로써 공통된 부분과 고유한 부분을 모두 가짐
부모 class 의 public, protected 멤버만 상속
파생된 class에 field, method, property 등의 멤버를 추가할 수 있다.
단, base class에 해당 member가 정의되어 있지 않아야 한다.
부모 class에서 정의된 method나 property의 상세 구현을 바꾸어 구현할 수 있다.
C#은 단일 상속(single inheritance)만 지원
class BasicPayType
class Premium300 : BasicPayType
class Premium500 : BasicPayType
Premium300 user1 = new Premium300();
BasicPayType user2 = new Premium500();